Module inert

Copyright © 2013-2021, Michael Santos <michael.santos@gmail.com>

Function Index

fdclr/1Clear read_write events for a file descriptor.
fdclr/2Clear an event set for a file descriptor.
fdset/1Monitor a file descriptor for read events.
fdset/2Monitor a file descriptor for events.
poll/1Block until a file descriptor is ready for reading.
poll/2Block until a file descriptor is ready for reading or writing.
poll/3Block until a file descriptor is ready for reading or writing.
pollid/0Retrieves the port identifier for the inert driver.
start/0Start the inert service.
stop/0Stop the inert service.

Function Details

fdclr/1

fdclr(FD::integer()) -> ok | inert_drv:errno()

Clear read_write events for a file descriptor.

fdclr/2

fdclr(FD::integer(), Options::inert_drv:mode() | proplists:proplist()) -> ok | inert_drv:errno()

Clear an event set for a file descriptor.

fdset/1

fdset(FD::integer()) -> ok | inert_drv:errno()

Monitor a file descriptor for read events.

fdset/2

fdset(FD::integer(), Options::inert_drv:mode() | proplists:proplist()) -> ok | inert_drv:errno()

Monitor a file descriptor for events.

fdset/1,2 will send one message when a file descriptor is ready for reading or writing:

{inert_read, PollId, FD} % fd is ready for reading {inert_write, PollId, FD} % fd is ready for writing

Use pollid/0 to retrieve the descriptor for the inert driver.

When requesting a monitoring mode of read_write, the calling process may receive two messages (one for read, one for write).

Further events are not monitored after the message is sent. To re-enable monitoring, fdset/2,3 must be called again.

Successive calls to fdset/2,3 reset the mode:

poll/1

poll(FD::integer()) -> {ok, read} | {error, timeout} | inert_drv:errno()

Block until a file descriptor is ready for reading.

poll/2

poll(FD::integer(), Mode::inert_drv:mode() | proplists:proplist()) -> {ok, read | write} | {error, timeout} | inert_drv:errno()

Block until a file descriptor is ready for reading or writing.

poll/3

poll(FD::integer(), Mode::inert_drv:mode() | proplists:proplist(), Timeout::timeout()) -> {ok, read | write} | {error, timeout} | inert_drv:errno()

Block until a file descriptor is ready for reading or writing.

The timeout option will interrupt poll/3 after the specified timeout (in milliseconds), returning the tuple {error, timeout}.

pollid/0

pollid() -> undefined | port()

Retrieves the port identifier for the inert driver.

start/0

start() -> any()

Start the inert service.

stop/0

stop() -> any()

Stop the inert service.


Generated by EDoc