forum.dlang.org, version 2 (BETA)

Sönke Ludwig via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Jun 4 14:10:11 PDT 2015


Am 04.06.2015 um 17:43 schrieb Vladimir Panteleev:
> On Thursday, 4 June 2015 at 15:35:58 UTC, Nick Sabalausky wrote:
>> On 06/04/2015 11:14 AM, Vladimir Panteleev wrote:
>>>
>>> I thought of migrating to Vibe eventually, but it would be
>>> non-trivial.
>>> Some things the forum does are also difficult to express using
>>> the fiber
>>> asynchronicity model.
>>
>> Such as what? (Out of curiosity)
>
> One problem I ran into is with the NNTP client, which uses a pipeline
> queue of at most 64 commands. This means that it sends 64 commands to
> the server in one go, and as soon as it receives the reply to the first,
> it sends a 65th command.
>
> I don't know how things are now, but when I tried to move to Vibe.d
> (which was several years ago), you had to do some strange acrobatics in
> order to read the same connection in one fiber but write to it from
> another. In ae.net, reads are handled by callbacks, and all writes are
> delayed (data is queued and sent when the socket loop says the socket is
> writable), which means there is no contention and you can "write" to any
> socket from anywhere in the program (as long as it's in the same thread).

This has been solved in the meantime. Reads and writes can now occur 
concurrently in different fibers.


More information about the Digitalmars-d-announce mailing list