Sean Kelly wrote:
Walter Bright Wrote:

Sean Kelly wrote:
Walter Bright Wrote:

Adam Ruppe wrote:
My network thing is very simple: it opens a socket, then wraps it up
in a File struct, via FILE*. Then, you can treat it the same way.
That's the traditional way to do it, but I'm not so sure it's the right way for the future. Wouldn't it be better to have an interface to it that is a range, rather than pretend it's a FILE* ?
And in either case, if the buffer is empty a get() operation will block, 
correct?
I'm no expert in network programming, but yes. I suspect there should be a settable timeout which should throw, too.

I've been thinking about this and I think this is probably what the majority of 
apps want anyway.  It isn't scalable, but server apps are a whole 'nother ball 
of wax.

To obtain asynchronous operation, an app can spawn a secondary thread using blocking I/O and passing stuff as messages. Indeed defining many secondary threads does become a scalability issue.

Andrei

Reply via email to