[Openmcl-devel] Trouble writing to tcp socket
jkordani at lsa2.com
Sat Nov 15 07:58:58 PST 2014
On 11/15/14 1:38 AM, Gary Byers wrote:
> On 11/14/2014 09:44:35 PM, Joshua Kordani wrote:
>> Even with the annotate, I can't write out to the socket. http-client returns nil, and in wireshark I see no packets on the wire. I am using a netcat listener as a test server, and the read function works just fine, but writing does not. I have tried this on the latest trunk and also on relesae 1.9, both on osx 10.7 and I get the same result, that is, nothing is written out on the wire as a result of write functions called on this stream.
>> Am I missing something obvious or should I file a bug report?
> You're missing something obvious.
> FORCE-OUTPUT and FINISH-OUTPUT each take optional arguments which specify what output stream they affect; this argument defaults to the stream which is the value of *STANDARD-OUTPUT*, and this likely isn't what you want. In your example, calling either
> (FORCE-OUTPUT OS)
> (FINISH-OUTPUT OS)
> will cause any data in the stream's buffers to be sent to the OS. (There was a discussion of the differences between these functions on this list a week or two ago; I don't want to repeat that, but I think that in most cases FORCE-OUTPUT suffices.)
> Streams in CCL are almost always fully buffered.
>> Joshua Kordani
>> LSA Autonomy
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
Don't know why I didn't put 2 and 2 together, I recognized that I'd need to pass my stream to all the stream write functions, but not the force/finish output calls... Btw, what do you mean when you say "fully" buffered?
More information about the Openmcl-devel