photon

Undocumented in source.

Modules

ds
module photon.ds
exceptions
module photon.exceptions
Undocumented in source.
freebsd
module photon.freebsd
linux
module photon.linux
macos
module photon.macos
support
module photon.support
Undocumented in source.
windows
module photon.windows

Public Imports

photon.windows.core
public import photon.windows.core;
Undocumented in source.
photon.linux.core
public import photon.linux.core;
Undocumented in source.
photon.freebsd.core
public import photon.freebsd.core;
Undocumented in source.
photon.macos.core
public import photon.macos.core;
Undocumented in source.

Members

Enums

isChannel
eponymoustemplate isChannel(T)

Trait for testing if a type is Channel

isHandler
eponymoustemplate isHandler(T)
Undocumented in source.

Functions

channel
auto channel(size_t capacity)

Create ref-counted channel that is safe to shared between multiple fibers. In essence it's a multiple producer single consumer queue, that implements OutputRange and InputRange concepts.

runFibers
void runFibers()

Start sheduler and run fibers until all are terminated.

select
void select(Args args)

Multiplex between multiple channels, executes a lambda attached to the first channel that becomes ready to read.

Structs

Channel
struct Channel(T)
Undocumented in source.

Meta