Seda is a datalink layer protocol that enables the decoupling of framing
from error recovery to achieve both high utilization of channel bandwidth
and effective error recovery. To this end, Seda divides each frame into
multiple blocks. Each block has its independent error detection, and serves
as the basic unit for error recovery. The frame size is determined based on
the per-frame PHY/MAC overhead as well as the packet-level latency.
Seda is implemented as a datalink layer protocol in the TinyOS programmable
protocol stack. Seda provides an interface similar to the Comm API of
TinyOS, with a Seda.send() command to send a packet and a
Seda.receive() that is signaled when packets are received at the
receiver end.