koi_net.components.event_buffer

Classes

EventBuffer()

Stores outgoing events sent to other nodes.

class koi_net.components.event_buffer.EventBuffer[source]

Bases: object

Stores outgoing events sent to other nodes.

buf_len(node)[source]

Returns the length of a node’s event buffer.

Parameters:

node (KoiNetNode)

buffers: dict[KoiNetNode, list[Event]]
flush(node, limit=0)[source]

Flushes all (or limit) events for a node.

Resets start time.

Return type:

list[Event]

Parameters:
  • node (KoiNetNode)

  • limit (int)

push(node, event)[source]

Pushes event to specified node.

Sets start time to now if unset.

Parameters:
  • node (KoiNetNode)

  • event (Event)

safe_flush(node, limit=0, force_flush=False)[source]

Context managed safe flush, only commits on successful exit.

Exceptions will result in buffer rollback to the previous state.

Return type:

Generator[list[Event], None, None]

Parameters:
  • node (KoiNetNode)

  • limit (int)

  • force_flush (bool)

start_time: dict[KoiNetNode, float]