[squeak-dev] The Trunk: Network-nice.67.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Mar 28 20:37:07 UTC 2010
Nicolas Cellier uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-nice.67.mcz
==================== Summary ====================
Name: Network-nice.67
Author: nice
Time: 28 March 2010, 10:36:49.996 pm
UUID: 64b9fd8e-4cf4-4f47-bce6-d70517a4842c
Ancestors: Network-bp.66
1) fix some _ assignment
2) add Socket support for #next:putAll:startingAt: and #readInto:startingAt:count:
3) do not let ascii/binary resetBuffers gratuitously
=============== Diff against Network-bp.66 ===============
Item was changed:
----- Method: SocketStream>>ascii (in category 'configuration') -----
ascii
"Tell the SocketStream to send data
as Strings instead of ByteArrays.
This is default."
binary := false.
+ inBuffer
+ ifNil: [self resetBuffers]
+ ifNotNil:
+ [inBuffer := inBuffer asString.
+ outBuffer := outBuffer asString]!
- self resetBuffers!
Item was changed:
----- Method: SocketStream>>binary (in category 'configuration') -----
binary
"Tell the SocketStream to send data
as ByteArrays instead of Strings.
Default is ascii."
binary := true.
+ inBuffer
+ ifNil: [self resetBuffers]
+ ifNotNil:
+ [inBuffer := inBuffer asByteArray.
+ outBuffer := outBuffer asByteArray]!
- self resetBuffers!
Item was added:
+ ----- Method: SocketStream>>next:putAll:startingAt: (in category 'stream out') -----
+ next: n putAll: aCollection startingAt: startIndex
+ "Put a String or a ByteArray onto the stream.
+ Currently a large collection will allocate a large buffer.
+ Warning: this does not work with WideString: they have to be converted first."
+
+ self adjustOutBuffer: n.
+ outBuffer replaceFrom: outNextToWrite to: outNextToWrite + n - 1 with: aCollection startingAt: startIndex.
+ outNextToWrite := outNextToWrite + n.
+ self checkFlush.
+ ^aCollection!
Item was added:
+ ----- Method: SocketStream>>readInto:startingAt:count: (in category 'stream in') -----
+ readInto: aCollection startingAt: startIndex count: anInteger
+ "Read n objects into the given collection starting at startIndex.
+ Return number of elements that have been read."
+
+ "Implementation note: This method DOES signal timeout if not
+ enough elements are received. It does NOT signal
+ ConnectionClosed as closing the connection is the only way by
+ which partial data can be read."
+
+ | start amount |
+
+ [self receiveData: anInteger] on: ConnectionClosed do:[:ex| ex return].
+
+ "Inlined version of nextInBuffer: to avoid copying the contents"
+ amount := anInteger min: (inNextToWrite - lastRead - 1).
+ start := lastRead + 1.
+ lastRead := lastRead + amount.
+ aCollection
+ replaceFrom: startIndex
+ to: startIndex + amount-1
+ with: inBuffer
+ startingAt: start.
+ ^amount!
Item was changed:
----- Method: ServerDirectory>>oldFileOrNoneNamed: (in category 'file directory') -----
oldFileOrNoneNamed: fullName
"If the file exists, answer a read-only RemoteFileStream on it. If it doesn't, answer nil. fullName is directory path, and does include name of the server. Or just a simple fileName. Do prefetch the data."
^ Cursor wait showWhile:
+ [ | file |
+ file := self asServerFileNamed: fullName.
- [ | file |file := self asServerFileNamed: fullName.
file readOnly.
"file exists ifFalse: [^ nil]." "on the server"
file isTypeFile
ifTrue: [FileStream oldFileOrNoneNamed: (file fileNameRelativeTo: self)]
ifFalse: [self streamOnBeginningOf: file]]!
Item was changed:
----- Method: MailAddressTokenizer class>>initialize (in category 'class initialization') -----
initialize
"Initalize class variables using MailAddressTokenizer initialize"
| atomChars |
+ CSParens := CharacterSet empty.
- CSParens _ CharacterSet empty.
CSParens addAll: '()'.
+ CSSpecials := CharacterSet empty.
- CSSpecials _ CharacterSet empty.
CSSpecials addAll: '()<>@,;:\".[]'.
+ CSNonSeparators := CharacterSet separators complement.
- CSNonSeparators _ CharacterSet separators complement.
"(from RFC 2822)"
atomChars := CharacterSet empty.
atomChars addAll: ($A to: $Z).
atomChars addAll: ($a to: $z).
atomChars addAll: ($0 to: $9).
atomChars addAll: '!!#$%^''*+-/=?^_`{|}~'.
CSNonAtom := atomChars complement.!
More information about the Squeak-dev
mailing list
|