Ejemplo n.º 1
0
void BPending_Init (BPending *o, BPendingGroup *g, BPending_handler handler, void *user)
{
    // init arguments
    o->g = g;
    o->handler = handler;
    o->user = user;
    
    // set not pending
    o->pending = 0;
    
    // increment pending counter
    DebugCounter_Increment(&o->g->pending_ctr);
    
    // init debug object
    DebugObject_Init(&o->d_obj);
}
Ejemplo n.º 2
0
void DPReceiveReceiver_Init (DPReceiveReceiver *o, DPReceivePeer *peer)
{
    DebugObject_Access(&peer->d_obj);
    DPReceiveDevice *device = peer->device;
    
    // init arguments
    o->peer = peer;
    
    // remember device
    o->device = device;
    
    // init receive interface
    PacketPassInterface_Init(&o->recv_if, device->packet_mtu, (PacketPassInterface_handler_send)receiver_recv_handler_send, o, BReactor_PendingGroup(device->reactor));
    
    DebugCounter_Increment(&peer->d_receivers_ctr);
    DebugObject_Init(&o->d_obj);
}
Ejemplo n.º 3
0
void PacketPassFifoQueueFlow_Init (PacketPassFifoQueueFlow *o, PacketPassFifoQueue *queue)
{
    DebugObject_Access(&queue->d_obj);
    ASSERT(!queue->freeing)
    
    // init arguments
    o->queue = queue;
    
    // init input
    PacketPassInterface_Init(&o->input, PacketPassInterface_GetMTU(queue->output), (PacketPassInterface_handler_send)input_handler_send, o, queue->pg);
    
    // set not waiting
    o->is_waiting = 0;
    
    // set no busy handler
    o->handler_busy = NULL;
    
    DebugCounter_Increment(&queue->d_flows_ctr);
    DebugObject_Init(&o->d_obj);
}