void CcnLAC_dtor(CcnLAC self) { if (self->pm != NULL) PollMgr_detach(self->pm, ccn_get_connection_fd(self->ccnh), &CcnLAC_initPollCb, self); if (self->nbs != NULL) NBS_pollDetach(self->nbs); ccn_destroy(&(self->ccnh)); if (self->ccnbor != NULL) CcnbOR_dtor(self->ccnbor); free(self); }
void NBS_dtor(NBS self) { NBS_pollDetach(self); if (NBS_isDgram(self)) { DgramBuf_dtor(self->dbufR); DgramBuf_dtor(self->dbufW); } else { StreamBuf_dtor(self->sbufR); StreamBuf_dtor(self->sbufW); } if (self->closeSock) { close(self->sockR); if (self->sockW != self->sockR) close(self->sockW); } free(self); }