forum.dlang.org, version 2 (BETA)

Vladimir Panteleev via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Jun 4 17:01:07 PDT 2015


On Thursday, 4 June 2015 at 21:10:13 UTC, Sönke Ludwig wrote:
>> 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.

Good to know. What about writing from multiple fibers to the same 
connection (e.g. an IRC client that needs to send PINGs from a 
timer fiber and also announce events coming from other fibers)? 
IIRC a connection's input/output streams needed to be explicitly 
associated with a fiber?


More information about the Digitalmars-d-announce mailing list