Esempio n. 1
0
FskErr KprCoAPClientRequestDispose(KprCoAPClientRequest self)
{
	FskErr err = kFskErrNone;
	if (self) {
		FskDebugStr("CoAP ClientRequest Disposed: %x", (int) self);

		KprCoAPMessageDispose(self->message);
		KprCoAPEndpointDispose(self->endpoint);

		KprMemPtrDispose(self);
	}
	return err;
}
Esempio n. 2
0
FskErr KprCoAPServerSessionDispose(KprCoAPServerSession self)
{
	FskErr err = kFskErrNone;
	if (self && KprRetainableRelease(self->retainable)) {
		KprCoAPMessageDispose(self->request);
		KprCoAPMessageDispose(self->lastResponse);
		KprCoAPEndpointDispose(self->endpoint);

		KprRetainableDispose(self->retainable);

		KprMemPtrDispose(self);
	}
	return err;
}
Esempio n. 3
0
static FskErr KprCoAPClientCreateEndpoint(KprCoAPClient self, UInt32 ipaddr, UInt16 port, KprCoAPEndpoint *it)
{
	FskErr err = kFskErrNone;
	KprCoAPEndpoint endpoint = NULL;
	KprCoAPEndpointCallbacks endpointCallback = {
		KprCoAPClient_retryCallback,
		KprCoAPClient_errorCallback,
		KprCoAPClient_deliveryErrorCallback,
	};

	bailIfError(KprCoAPEndpointNew(&endpoint, self->socket, ipaddr, port, &endpointCallback, self));

	FskListAppend(&self->endpoints, endpoint);
	*it = endpoint;

bail:
	if (err) {
		KprCoAPEndpointDispose(endpoint);
	}

	return err;
}
Esempio n. 4
0
FskErr KprCoAPClientDispose(KprCoAPClient self)
{
	FskErr err = kFskErrNone;
	if (self) {
		KprCoAPClientResolver resolver;
		KprCoAPClientRequest request;
		KprCoAPEndpoint endpoint;

		resolver = self->resolvers;
		while (resolver) {
			KprCoAPClientResolver next = resolver->next;
			KprCoAPClientResolverDispose(resolver);
			resolver = next;
		}

		request = self->requests;
		while (request) {
			KprCoAPClientRequest next = request->next;
			KprCoAPClientRequestDispose(request);
			request = next;
		}

		endpoint = self->endpoints;
		while (endpoint) {
			KprCoAPEndpoint next = endpoint->next;
			KprCoAPEndpointDispose(endpoint);
			endpoint = next;
		}

		KprMemoryBlockDispose(self->recycleTokens);

		KprCoAPReceiverDispose(self->receiver);
		FskNetSocketClose(self->socket);
		KprMemPtrDispose(self);
		FskDebugStr("CoAP Client disposed: %p", self);
	}
	return err;
}