forum.dlang.org, version 2 (BETA)

Vladimir Panteleev via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Jun 4 08:43:36 PDT 2015


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).


More information about the Digitalmars-d-announce mailing list