예제 #1
0
파일: CcnClient.c 프로젝트: ltr120/NDNFD
CcnbMsg CcnLAC_read(CcnLAC self) {
	if (!CcnLAC_ready(self)) return NULL;
	struct ccn_charbuf* cbuf = CcnbOR_read(self->ccnbor);
	if (cbuf == NULL) return NULL;
	CcnbMsg msg = CcnbMsg_fromEncap(cbuf);
	if (CcnbMsg_verifyIntegrity(msg)) return msg;
	else {
		self->error = true;
		return NULL;
	}
}
예제 #2
0
파일: Link.c 프로젝트: Emat12/NDNBlue-BlueZ
NdnlpPkt Link_read(Link self) {
	if (self->lmd != NULL) {
		SockAddr addr = SockAddr_clone(self->addr);
		NdnlpPkt pkt = LMD_read(self->lmd, addr);
		SockAddr_dtor(addr);
		return pkt;
	} else {
		struct ccn_charbuf* cbuf = CcnbOR_read(self->ccnbor);
		if (cbuf == NULL) return NULL;
		return (NdnlpPkt)cbuf;
	}
}