chrysn 42296f73f5 introduce partiallydirty resources and dirty subscriptions
this change spreads the concept of "dirty" from resources to
subscriptions. this allows queuing up notifications in case not all of
them can be transmitted at the same time (which can happen due to
constraints in pdu or node space).

when a dirty resource's notifications can not be sent, the resource is
marked as partiallydirty, and on the subscriptions that could not be
sent out, the dirty flag is set. they get cleared later when
coap_notify_observers gets run again, as it not only looks for dirty,
but also for partiallydirty resources.

note that there is currently no facility that prevents that all the
nodes get assigned to the send queue, leaving no room for receiving
packages (which happens in mass notifications, blocks all incoming
packages and is only resolved by the transmissions timing out). my
current test setup always leaves at least one node free for reception by
over-allocating and freeing a node on sending.
2013-11-17 16:05:35 +01:00
2011-06-02 02:41:48 +02:00
2013-02-01 13:54:16 +01:00
2012-03-10 00:58:55 +01:00
2012-03-15 14:57:25 +01:00
2011-12-11 16:07:20 +01:00
2012-08-29 11:43:49 +02:00
2012-03-10 01:00:31 +01:00
2011-12-11 15:57:24 +01:00
2011-06-13 18:57:51 +02:00
2011-06-13 18:57:51 +02:00
2013-07-22 21:52:58 +02:00
2011-06-02 02:43:59 +02:00
2013-01-18 16:42:33 +01:00
2013-01-21 17:27:21 +01:00
2011-12-11 15:57:24 +01:00
2011-06-02 02:43:59 +02:00
2011-06-16 18:31:09 +02:00

libcoap: A C implementation of IETF Core Application protocol

Copyright (C) 2010--2013 by Olaf Bergmann <bergmann@tzi.org>

ABOUT LIBCOAP 

libcoap is a C implementation of a lightweight application-protocol
for devices that are constrained their resources such as computing
power, RF range, memory, bandwith, or network packet sizes. This
protocol, CoAP, is developed in the IETF working group "Constrained
RESTful Environments (core)", see <http://6lowapp.net>.

PACKAGE CONTENTS

This directory contains a protocol parser and basic networking
functions for platform with support for malloc() and BSD-style
sockets. The examples directory contains a client and a server to
demonstrate the use of this library. 

LICENSE INFORMATION

This library is published as open-source software without any warranty
of any kind. Use is permitted under the terms of the GNU General
Public License (GPL), Version 2 or higher, OR the revised BSD
license. Please refer to LICENSE.GPL oder LICENSE.BSD for further
details.

Languages
C 93.6%
M4 2.9%
CMake 1.8%
Shell 0.7%
Makefile 0.6%
Other 0.4%