[ENH] Socket-sendUDPData
stefan kersten
steve at k-hornz.de
Thu Jan 23 16:20:47 UTC 2003
from the changeset's preamble:
Adds methods to Socket for sending datagrams while avoiding unecessary
copying of data.
<sk>
-------------- next part --------------
'From Squeak3.5alpha of ''7 January 2003'' [latest update: #5169] on 23 January 2003 at 5:18:13 pm'!
"Change Set: Socket-sendUDPData-enh-sk
Date: 21 January 2003
Author: sk <steve at k-hornz.de>
Adds methods to Socket for sending datagrams while avoiding unecessary copying of data."!
!Socket methodsFor: 'datagrams' stamp: 'sk 1/23/2003 17:17'!
sendUDPData: aStringOrByteArray count: bytesToSend toHost: hostAddress port: portNumber
"Send a UDP packet containing the first bytesToSend bytes of the given data to the specified host/port."
^ self
sendUDPData: aStringOrByteArray
startingAt: 1
count: bytesToSend
toHost: hostAddress
port: portNumber! !
!Socket methodsFor: 'datagrams' stamp: 'sk 1/23/2003 17:16'!
sendUDPData: aStringOrByteArray startingAt: startIndex count: bytesToSend toHost: hostAddress port: portNumber
"Send a UDP packet containing bytesToSend bytes of the given data starting at startIndex to the specified host/port."
| bytesSent count |
bytesSent _ 0.
[bytesSent < bytesToSend] whileTrue: [
(self waitForSendDoneUntil: (Socket deadlineSecs: 20))
ifFalse: [self error: 'send data timeout; data not sent'].
count _ self primSocket: socketHandle
sendUDPData: aStringOrByteArray
toHost: hostAddress
port: portNumber
startIndex: startIndex + bytesSent
count: bytesToSend - bytesSent.
bytesSent _ bytesSent + count].
^ bytesSent! !
!Socket methodsFor: 'datagrams' stamp: 'sk 1/23/2003 17:17'!
sendUDPData: aStringOrByteArray toHost: hostAddress port: portNumber
"Send a UDP packet containing the given data to the specified host/port."
^ self
sendUDPData: aStringOrByteArray
startingAt: 1
count: aStringOrByteArray size
toHost: hostAddress
port: portNumber! !
More information about the Squeak-dev
mailing list
|