From: tmoran@acm.org
Subject: Re: Ada Networking (General/Design)
Date: Mon, 13 Aug 2012 20:28:58 +0000 (UTC)
Date: 2012-08-13T20:28:58+00:00 [thread overview]
Message-ID: <k0bo2a$ebg$1@speranza.aioe.org> (raw)
In-Reply-To: 19sij6rw9nhaa.164mz6sr816wk.dlg@40tude.net
> In an Ada friendly way they should be entry calls, with the semantics of
> canceling the request when a timed entry call gets timed out. That is when
> the socket is blocking:
>
> select
> Socket.Receive (Packet);
> or delay 10.0; -- Failed to read
> or terminate; -- Yes I know, it is illegal to have terminate + delay
> end select;
>
> Or maybe other way round, they should be "entry points" to which socket I/O
> could call to.
>
Get(Socket, Timeout => 10.0,
Item => Buffer,
Last => Last);
where Last = Buffer'first-1 on timeout, seems simpler to me.
> For non-blocking I/O there should be a way to have a pseudo-task ran by the
> events on the socket, rather than scheduled.
That's what overidable procedures When_Connect, When_Readable,
When_Disconnect, etc are for. They are called when the event occurs.
next prev parent reply other threads:[~2012-08-13 20:29 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-12 20:26 Ada Networking (General/Design) Shark8
2012-08-12 23:05 ` Shark8
2012-08-13 0:10 ` sbelmont700
2012-08-13 0:25 ` Shark8
2012-08-13 7:11 ` Dmitry A. Kazakov
2012-08-13 12:33 ` Patrick
2012-08-13 13:11 ` Dmitry A. Kazakov
2012-08-13 13:12 ` Marc C
2012-08-13 13:31 ` Dmitry A. Kazakov
2012-08-13 15:51 ` tmoran
2012-08-13 16:19 ` Dmitry A. Kazakov
2012-08-13 16:30 ` Patrick
2012-08-13 16:53 ` Patrick
2012-08-13 18:18 ` Dmitry A. Kazakov
2012-08-13 20:36 ` anon
2012-08-14 5:40 ` Patrick
2012-08-13 19:11 ` tmoran
2012-08-13 20:03 ` Dmitry A. Kazakov
2012-08-13 20:28 ` tmoran [this message]
2012-08-14 10:14 ` Dmitry A. Kazakov
2012-08-14 17:57 ` tmoran
2012-08-13 17:54 ` Marc C
2012-08-13 18:28 ` Dmitry A. Kazakov
2012-08-13 18:59 ` Marc C
2012-08-13 19:16 ` Dmitry A. Kazakov
2012-08-14 8:39 ` Maciej Sobczak
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox