Barrelfish
Data Fields
bulk_channel_callbacks Struct Reference

Data Fields

errval_t(* bind_received )(struct bulk_channel *channel)
 
void(* teardown_received )(struct bulk_channel *channel)
 
errval_t(* pool_assigned )(struct bulk_channel *channel, struct bulk_pool *pool)
 
errval_t(* pool_removed )(struct bulk_channel *channel, struct bulk_pool *pool)
 
void(* move_received )(struct bulk_channel *channel, struct bulk_buffer *buffer, void *meta)
 
void(* buffer_received )(struct bulk_channel *channel, struct bulk_buffer *buffer, void *meta)
 
void(* copy_received )(struct bulk_channel *channel, struct bulk_buffer *buffer, void *meta)
 
void(* copy_released )(struct bulk_channel *channel, struct bulk_buffer *buffer)
 
void(* request_received )(struct bulk_channel *channel, size_t count)
 

Detailed Description

Callbacks for events

Field Documentation

errval_t(* bulk_channel_callbacks::bind_received) (struct bulk_channel *channel)

For exporting side: other endpoint successfully bound

void(* bulk_channel_callbacks::buffer_received) (struct bulk_channel *channel, struct bulk_buffer *buffer, void *meta)

Incoming passed buffer (source)

void(* bulk_channel_callbacks::copy_received) (struct bulk_channel *channel, struct bulk_buffer *buffer, void *meta)

Incoming copied buffer (sink)

void(* bulk_channel_callbacks::copy_released) (struct bulk_channel *channel, struct bulk_buffer *buffer)

Released copied buffer (source)

void(* bulk_channel_callbacks::move_received) (struct bulk_channel *channel, struct bulk_buffer *buffer, void *meta)

Incoming moved buffer (sink)

errval_t(* bulk_channel_callbacks::pool_assigned) (struct bulk_channel *channel, struct bulk_pool *pool)

The other endpoint requests to assign a new pool to this channel.

Returns
If an error value is returned, the pool is not assigned and the error code is sent to the other side (veto).
errval_t(* bulk_channel_callbacks::pool_removed) (struct bulk_channel *channel, struct bulk_pool *pool)

The other endpoint wants to remove a pool from this channel

void(* bulk_channel_callbacks::request_received) (struct bulk_channel *channel, size_t count)

the other endpoint ran out of buffers and requests more buffers

void(* bulk_channel_callbacks::teardown_received) (struct bulk_channel *channel)

the other side wants to teardown the channel For initiating side: teardown completed For other side: teardown initiated


The documentation for this struct was generated from the following file: