[Tinyos-devel] Current status of the message buffer discussion

Eric Decker cire831 at gmail.com
Mon Jun 1 13:36:06 PDT 2009


These end up with differently formatted headers and thusly need to be
handled by different encapsulators.

On Mon, Jun 1, 2009 at 10:51 AM, Miklos Maroti <mmaroti at math.u-szeged.hu>wrote:

> My question is, then how far in the networking stack do you want to
> handle differently the 16-bit and 64-bit addresses?
>
> I will come up with more interfaces.
>
> Miklos
>
> On Mon, Jun 1, 2009 at 3:49 PM, Omprakash Gnawali <gnawali at usc.edu> wrote:
> > We discussed these interfaces during net2 meeting last week. Option 3
> > might be problematic because something like blip might need support
> > for multiple addressing modes.
> >
> > - om_p
> >
> > On Fri, May 22, 2009 at 2:43 PM, Miklos Maroti <mmaroti at math.u-szeged.hu>
> wrote:
> >> Dear Eric,
> >>
> >> You brought up very good points, and I am very happy that others are
> >> also engaged in the discussion. At this point I am convinced that both
> >> Jan's and my proposals could be made to work. But to really compare
> >> the two approaches we need use cases, very well defined used cases.
> >>
> >> Just to start the discussion, let me start with IEEE 802.15.4 link
> >> layer. Here are some options:
> >>
> >> ------- Option #1 -------
> >>
> >> interface Ieee154Send
> >> {
> >>        command error_t send64(uint64_t dest, bool ackReq, message_t*
> msg);
> >>        command error_t send16(uint16_t dest, bool ackReq, message_t*
> msg);
> >>        event void sendDone(message_t* msg, error_t error, bool acked);
> >>        command void* getPayload(message_t* msg, uint8_t len);
> >> }
> >>
> >> interface Ieee154Packet
> >> {
> >>        command uint16_t getSource16(message_t* msg);
> >>        command uint64_t getSource64(message_t* msg);
> >>        command uint16_t getDestination16(message_t* msg);
> >>        command uint64_t getDestination64(message_t* msg);
> >>        // no set commands as this interface should be used only for
> >> received messages
> >>
> >>        command void* getPayload(message_t* msg);
> >>        command uint8_t getLength(message_t* msg);
> >> }
> >>
> >> ------- Option #2 -------
> >>
> >> enum ieee154_flags
> >> {
> >>        IEEE154_ACK_REQ = 1 << 0,
> >>        IEEE154_FRAME_PENDING = 1 << 1,
> >>        IEEE154_COMPRESS_TO_16BIT = 1 << 2,
> >> };
> >>
> >> interface Ieee154Send
> >> {
> >>        command error_t send(uint64_t dest, uint8_t flags, message_t*
> msg,
> >> void* payload, uint8_t length);
> >>        event void sendDone(message_t* msg, error_t error, uint8_t
> flags);
> >>        command void* getPayload(message_t* msg, uint8_t len);
> >>        command uint8_t getMaxPayload();
> >> }
> >>
> >> interface Ieee154Receive
> >> {
> >>        event message_t* receive(uint64_t source, message_t* msg, void*
> >> payload, uint8_t length);
> >> }
> >>
> >> ------- Option #3 -------
> >>
> >> #ifdef USE_64BIT_ADDR
> >> typedef uint64_t address_t;
> >> #else
> >> typedef uint16_t address_t;
> >> #endif
> >>
> >> interface Ieee154Packet
> >> {
> >>        command void format(message_t* msg, uint8_t flags);
> >>
> >>        command address_t getSource(message_t* msg);
> >>        command address_t getDestination(message_t* msg);
> >>        command void setSource(message_t* msg, address_t addr);
> >>        command void setDestination(message_t* msg, address_t addr);
> >>
> >>        command void requestAck(message_t* msg, bool ack);
> >>        command bool wasAcknowledged(message_t* msg);
> >>
> >>        command void* payload(message_t* msg);
> >>        command uint8_t payloadLength(message_t* msg);
> >>        command void setPayloadLength(message_t* msg, uint8_t len);
> >>        command uint8_t maxPayloadLength(message_t* msg);
> >> }
> >>
> >> interface Send
> >> {
> >>        command error_t send(message_t* msg);
> >>        event void sendDone(message_t* msg, error_t error);
> >> }
> >>
> >> interface Receive
> >> {
> >>        event message_t* receive(message_t* msg);
> >> }
> >>
> >> Miklos
> >>
> >> _______________________________________________
> >> Tinyos-devel mailing list
> >> Tinyos-devel at millennium.berkeley.edu
> >>
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel
> >>
> >
>
> _______________________________________________
> Tinyos-devel mailing list
> Tinyos-devel at millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel
>



-- 
Eric B. Decker
Senior (over 50 :-) Researcher
Autonomous Systems Lab
Jack Baskin School of Engineering
UCSC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-devel/attachments/20090601/b7926c01/attachment.htm 


More information about the Tinyos-devel mailing list