예제 #1
0
파일: CcnClient.c 프로젝트: ltr120/NDNFD
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);
}
예제 #2
0
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);
}