
Title: Dip
Author: Kaisen Lin (kaisenl@cs.ucsd.edu)
------------------

Dip is a dissemination protocol for detecting and disseminating new
items in a network. It uses the same interfaces as Drip. It improves
node density and item scalability by sending only one packet per
interval rather than many. If the network is small and with very few
data items, Drip may be more efficient due to Dip's advertisement
overhead.



Notes:
------

Data disseminated under Dip cannot be larger than 16 bytes. It was not
designed for large data items, but rather for many small data items.

Ties, like Drip, are handled with higher node IDs serving as
tiebreakers.

Key 0 is reserved, do not use it.

There is minimal error checking, don't try to intentionally break
it. (e.g. illegal keys, weird and wacky version numbers)

Usage:
------

To use include the following in your Makefile:

CFLAGS += -I$(TOSDIR)/lib/net
CFLAGS += -I$(TOSDIR)/lib/net/dip
CFLAGS += -I$(TOSDIR)/lib/net/dip/interfaces
