Barrelfish
Data Structures | Enumerations | Functions
bulk_sm.h File Reference

Unidirectional bulk data transfer via shared memory. More...

Data Structures

struct  bulk_sm_ws_item
 

Enumerations

Functions

errval_t bulk_sm_assign_pool (struct bulk_channel *channel, struct bulk_pool *pool, struct bulk_continuation cont)
 
errval_t bulk_sm_ep_create (struct bulk_sm_endpoint_descriptor *ep_desc)
 
errval_t bulk_sm_ep_create_remote (struct bulk_sm_endpoint_descriptor *ep_desc, iref_t remote_iref)
 
errval_t bulk_sm_multiple_event_dispatch_non_block (struct bulk_sm_ws_item *item)
 
errval_t bulk_sm_multiple_event_dispatch (struct bulk_sm_ws_item *item)
 

Detailed Description

Unidirectional bulk data transfer via shared memory.

Enumeration Type Documentation

Enumerator
BULK_EPSTATE_CREATED 

dummy endpoint after creation

BULK_EPSTATE_IREF_EXPORTED 

endpoint's bulk_ctrl is exported on the ep's iref

Function Documentation

errval_t bulk_sm_assign_pool ( struct bulk_channel channel,
struct bulk_pool pool,
struct bulk_continuation  cont 
)

Entry point from the public interface bulk_channel_assign_pool function. Reqeusts confirmation from the other endpoint.

errval_t bulk_sm_ep_create ( struct bulk_sm_endpoint_descriptor *  ep_desc)

Creates a new bulk endpoint which uses the shared memory backend

Parameters
ep_descmemory location to create the endpoint in

This function is intended to be used by the creator. (exporting side)

errval_t bulk_sm_ep_create_remote ( struct bulk_sm_endpoint_descriptor *  ep_desc,
iref_t  remote_iref 
)

Creates a new bulk endpoint which uses the shared memory backend

Parameters
ep_descmemory location to create the endpoint in
remote_irefthe iref of the exported service on the other side

This function is intended to be used by the binding side

errval_t bulk_sm_multiple_event_dispatch ( struct bulk_sm_ws_item item)

Dispatches events on on a list of waitsets. Retruns if events dispatched.

errval_t bulk_sm_multiple_event_dispatch_non_block ( struct bulk_sm_ws_item item)

Dispatches events on a list of waitsets, non-blocking.

Returns
: LIB_ERR_NO_EVENT if no event dispatched.