Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: CORE experimental 2.4.39

From: holger:rebol at: 23-Nov-2000 8:40

On Thu, Nov 23, 2000 at 04:44:51PM +0100, Petr Krenzelok wrote:
> ... sounds impressive ... and Holger .... you're da network man - what about > description of print mold system/schemes/whatever fields? many interesting > items, i mean: > status: none > [...]
Probably later :-). Some of these are internal, some are for specialized ports...
> > Accuracy depends on the platform: Mac: one second (unfortunately), > > Windows: one millisecond, all other platforms: one microsecond. > > Mac doesn't offer better timers? :-)
Mac does have better resolution for interval timers, but not for the time of day timer. AFAIK only MacOS 9 offers a higher resolution for time of day (1/65536 of a second), and only for certain newer Mac models. We might support this in a future version. At the moment the requirements for REBOL on Mac are MacOS 8 or higher and OpenTransport.
> Will also other port types be made asynchronous?
UDP already is (by its very nature): sending is asynchronous, within the TCP/IP stack. Receiving can block (or not) depending on whether no-wait was used. TCP is "officially" asynchronous for receiving only, using no-wait. Internally it is also asynchronous for connecting, accepting and sending, mostly controlled through get/set-modes, but the API is not quite finished yet (in particular for sending). It needs a little more work to be "nice" to use :). Higher protocol layers (HTTP, FTP) are currently based on the synchronous root protocol , i.e. they are synchronous by themselves. One of the things we plan to do in the future is implement an "asynchronous root protocol" which has all of the functionality of the current root protocol (connect, read, write, proxy support, dialog parsing etc.), but is fully asynchronous and handler-driven. An asynchronous version of HTTP could then be implemented on top of that, which would, e.g., allow an arbitrary number of parallel HTTP downloads in the background. Express already does something like this, using its own asynchronous implementation. -- Holger Kruse [holger--rebol--com]