2003-12-04 Michael Koch <konqueror@gmx.de>

* java/net/DatagramPacket.java
	(length): Made packge-private to make it accessible via CNI.
	(maxlen): New field.
	(DatagramPacket): Cleaned up.
	(setSocketAddress): Add message to exception.
	(setData): Call other setData().
	(setData): Call setLength().
	(setLength): Initialize maxlen too.
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (peekData):
	Get maximal length from maxlen field, set length field directly.
	(receive): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (peekData):
	Get maximal length from maxlen field, set length field directly.
	(receive): Likewise.

From-SVN: r74278
This commit is contained in:
Michael Koch 2003-12-04 10:59:56 +00:00 committed by Michael Koch
parent 7f1156ed35
commit 477913522a
4 changed files with 55 additions and 66 deletions

View file

@ -209,7 +209,7 @@ gnu::java::net::PlainDatagramSocketImpl::peekData (::java::net::DatagramPacket *
union SockAddr u;
socklen_t addrlen = sizeof(u);
jbyte *dbytes = elements (p->getData()) + p->getOffset();
jint maxlen = p->getData()->length - p->getOffset();
jint maxlen = p->maxlen - p->getOffset();
ssize_t retlen = 0;
// Do timeouts via select since SO_RCVTIMEO is not always available.
@ -255,7 +255,7 @@ gnu::java::net::PlainDatagramSocketImpl::peekData (::java::net::DatagramPacket *
p->setAddress (new ::java::net::InetAddress (raddr, NULL));
p->setPort (rport);
p->setLength ((jint) retlen);
p->length = (int) retlen;
return rport;
error:
@ -329,7 +329,7 @@ gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p
union SockAddr u;
socklen_t addrlen = sizeof(u);
jbyte *dbytes = elements (p->getData()) + p->getOffset();
jint maxlen = p->getData()->length - p->getOffset();
jint maxlen = p->maxlen - p->getOffset();
ssize_t retlen = 0;
// Do timeouts via select since SO_RCVTIMEO is not always available.
@ -375,7 +375,7 @@ gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p
p->setAddress (new ::java::net::InetAddress (raddr, NULL));
p->setPort (rport);
p->setLength ((jint) retlen);
p->length = (jint) retlen;
return;
error:

View file

@ -203,7 +203,7 @@ gnu::java::net::PlainDatagramSocketImpl::peekData(::java::net::DatagramPacket *p
union SockAddr u;
socklen_t addrlen = sizeof(u);
jbyte *dbytes = elements (p->getData()) + p->getOffset();
jint maxlen = p->getData()->length - p->getOffset();
jint maxlen = p->maxlen - p->getOffset();
ssize_t retlen = 0;
if (timeout > 0)
@ -241,7 +241,7 @@ gnu::java::net::PlainDatagramSocketImpl::peekData(::java::net::DatagramPacket *p
p->setAddress (new ::java::net::InetAddress (raddr, NULL));
p->setPort (rport);
p->setLength ((jint) retlen);
p->length = (jint) retlen;
return rport;
error:
@ -318,7 +318,7 @@ gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p
union SockAddr u;
socklen_t addrlen = sizeof(u);
jbyte *dbytes = elements (p->getData()) + p->getOffset();
jint maxlen = p->getData()->length - p->getOffset();
jint maxlen = p->maxlen - p->getOffset();
ssize_t retlen = 0;
if (timeout > 0)
@ -359,7 +359,7 @@ gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p
p->setAddress (new ::java::net::InetAddress (raddr, NULL));
p->setPort (rport);
p->setLength ((jint) retlen);
p->length = (jint) retlen;
return;
error: