[net2-wg] Meeting notes for Mar 01, 2007

Rodrigo Fonseca rfonseca at cs.berkeley.edu
Thu Mar 1 11:11:16 PST 2007


Hi,

please find the notes for the meeting today at
http://tinyos.stanford.edu:8000/Net2WG/Notes/20070301


Regarding the TransmitQueue interface, here are some comments,
comparing both proposals:

1. Change the name
2. Definition of an interval: not the minimum time between two
*successful* packet transmissions. It's between any transmissions. You
have to know the interval before you attempt a transmission, and you
can't know whether it will be successful before you start.

3. Return error_t in the events, instead of void?
4. in event void QueueUpdated(int8_t change, uint8_t numpackets),
change is redundant, I don't think it's necessary
5. disable, enable, and isEnabled can all be replaced with the
semantics that an interval of 0 is identical to disabled.

With that, I think that conciliating the (almost all of the) differences makes:

interface TransmitQueueControl {

    /*  Packet interval is defined as the minimum time
    *  between two packet transmissions. An interval of
    *  0 means that no rate control is in effect.
    */

    /* Returns the current interval in ms. */
    command uint16_t getInterval();

    /* Sets the interval to 'newInterval' ms.
     * Returns FAIL if the interval can't be set. */
    command error_t setInterval(uint16_t newInterval);

    /* The size of the transmit queue. */
    command uint8_t getQueueSize();

    /* Returns the number of items in the queue.
    * When the queue is empty, the return value is 0.
    * When the queue is full, the return value is the size of queue.
    */
    command uint8_t getQueueOccupancy();     OR
    command uint8_t getNumQueued();

   /* Signals that the occupancy of the queue is changed. The new
    * queue occupancy is newOccupancy */
    event error_t queueOccupancyChanged(uint8_t newOccupancy);  OR
    event void queueUpdated(uint8_t numpackets);

}

Rodrigo


More information about the net2-wg mailing list