コード例 #1
0
ファイル: DPReceive.c プロジェクト: 0wsqqsw/lantern
void DPReceiveReceiver_Free (DPReceiveReceiver *o)
{
    DebugObject_Free(&o->d_obj);
    DebugCounter_Decrement(&o->peer->d_receivers_ctr);
    
    // free receive interface
    PacketPassInterface_Free(&o->recv_if);
}
コード例 #2
0
ファイル: BPending.c プロジェクト: carriercomm/NCD
void BPending_Free (BPending *o)
{
    DebugCounter_Decrement(&o->g->pending_ctr);
    DebugObject_Free(&o->d_obj);
    
    // remove from jobs list
    if (o->pending) {
        LinkedList1_Remove(&o->g->jobs, &o->pending_node);
    }
}
コード例 #3
0
ファイル: PacketPassFifoQueue.c プロジェクト: 0wsqqsw/lantern
void PacketPassFifoQueueFlow_Free (PacketPassFifoQueueFlow *o)
{
    PacketPassFifoQueue *queue = o->queue;
    DebugObject_Free(&o->d_obj);
    DebugCounter_Decrement(&queue->d_flows_ctr);
    ASSERT(queue->freeing || o != queue->sending_flow)
    
    // remove from sending flow
    if (o == queue->sending_flow) {
        queue->sending_flow = NULL;
    }
    
    // remove from waiting flows list
    if (o->is_waiting) {
        LinkedList1_Remove(&queue->waiting_flows_list, &o->waiting_flows_list_node);
    }
    
    // free input
    PacketPassInterface_Free(&o->input);
}