Apps
Components
Interfaces
All Files
Source Tree
source:
tos.lib.TinyDB.NetworkC.nc
Component: NetworkC
Required Interfaces
SendMsg
SendDataMsg
SendMsg
SendQueryMsg
SendMsg
SendQueryRequest
SendMsg
DebugMsg
SendMsg
SchemaMsg
ReceiveMsg
RcvDataMsg
ReceiveMsg
RcvQueryMsg
ReceiveMsg
RcvRequestMsg
ReceiveMsg
RcvSchemaMsg
CommandUse
Leds
Random
AttrRegister
ParentAttr
QueryProcessor
Provided Interfaces
Network
StdControl
Variables
uint16_t mSendCount
char mRelatives[NetworkC.NUM_RELATIVES]
char mRelOccupiedBits
short mParentIx[NetworkC.NUM_ROOTS]
unsigned short mLastIdxRelative[NetworkC.NUM_RELATIVES]
unsigned char mCommProb[NetworkC.NUM_RELATIVES]
short mRoots[NetworkC.NUM_ROOTS]
char mRelLevel[NetworkC.NUM_ROOTS][NetworkC.NUM_RELATIVES]
TOS_MsgPtr mMsg
TOS_Msg mDbg
char mAmId
uint8_t mIdx
bool mIsRoot
bool mForceTopology
bool mUart
bool mLocal
bool mWasCommand
bool mRadio
char mFanout
bool mCentralized
short mMinparent
short mMaxparent
short mParentCand1
short mParentCand2
short mParentCand3
short mLastCheck
short mLastHeard
long mRecentMsgs[NetworkC.NUM_RECENT_MSGS]
uint8_t mNextMsg
short mRetryCnt
SchemaErrorNo errorNo
typedef enum NetworkC.__nesc_unnamed4315 { NetworkC.QUERY_TYPE = 0, NetworkC.DATA_TYPE = 1 } MsgType
typedef struct NetworkC.__nesc_unnamed4316 { short nodeid; short msgcount; } NodeMsgCount
typedef struct NetworkC.__nesc_unnamed4317 { DbMsgHdr hdr; char data[1]; } NetworkMessage
void initHeader(DbMsgHdr *header, bool amRoot, uint8_t rootId)
bool processHeader(DbMsgHdr header, NetworkC.MsgType type, uint8_t rootId)
void setParentRange(void)
void setRoot(uint8_t rootId)
bool checkRoot(TOS_MsgPtr msg, uint8_t *rootId)
void degradeLinkQuality(short neighborId)
Function Index
uint8_t
myLevel
(uint8_t rootId)
command result_t
StdControl.init
(void)
void
setRoot
(uint8_t rootId)
uint8_t
getRootId
(short rootNode)
Given the node id of a routing tree root, determine the routing tree id (root parameter of data structures to use.
bool
checkRoot
(TOS_MsgPtr msg, uint8_t *rootIdPtr)
command result_t
StdControl.start
(void)
command result_t
StdControl.stop
(void)
command TinyDBError
Network.sendDataMessage
(TOS_MsgPtr msg)
command void
Network.endOfEpoch
(void)
Called (by TupleRouter) whenever an epoch ends
command TinyDBError
Network.sendQueryMessage
(TOS_MsgPtr msg)
command TinyDBError
Network.sendQueryRequest
(TOS_MsgPtr msg, uint16_t from)
command result_t
Network.sendUart
(char *msg, uint8_t amid)
result_t
sendDone
(TOS_MsgPtr msg)
event result_t
SendQueryMsg.sendDone
(TOS_MsgPtr msg, result_t success)
event result_t
SendDataMsg.sendDone
(TOS_MsgPtr msg, result_t success)
event result_t
SendQueryRequest.sendDone
(TOS_MsgPtr msg, result_t success)
event result_t
DebugMsg.sendDone
(TOS_MsgPtr msg, result_t success)
event result_t
SchemaMsg.sendDone
(TOS_MsgPtr msg, result_t success)
bool
filterMessage
(TOS_MsgPtr msg, bool checkRecent)
event TOS_MsgPtr
RcvQueryMsg.receive
(TOS_MsgPtr msg)
event TOS_MsgPtr
RcvRequestMsg.receive
(TOS_MsgPtr msg)
event TOS_MsgPtr
RcvDataMsg.receive
(TOS_MsgPtr msg)
event TOS_MsgPtr
RcvSchemaMsg.receive
(TOS_MsgPtr msg)
void
initHeader
(DbMsgHdr *header, bool amRoot, uint8_t rootId)
void
tinydbParentInit
(DbMsgHdr header, short clockCnt, uint8_t rootId)
bool
isParent
(uint8_t idx)
void
degradeLinkQuality
(short neighborId)
short
tinydbUpdateSenderStats
(DbMsgHdr header, short clockCnt, uint8_t rootId)
void
tinydbRelativeReplace
(DbMsgHdr header, short clockCnt, uint8_t rootId)
void
tinydbChooseParent
(DbMsgHdr header, short clockCnt, uint8_t rootId, bool lastOk)
bool
processHeader
(DbMsgHdr header, NetworkC.MsgType type, uint8_t rootId)
void
setParentRange
(void)
command result_t
Network.forceTopology
(uint8_t fanout)
command result_t
Network.setCentralized
(bool on)
event result_t
CommandUse.commandDone
(char *commandName, char *resultBuf, SchemaErrorNo err)
event result_t
ParentAttr.getAttr
(char *name, char *resultBuf, SchemaErrorNo *err)
event result_t
ParentAttr.setAttr
(char *name, char *resultBuf)
event result_t
QueryProcessor.queryComplete
(ParsedQueryPtr q)
Function Descriptions
getRootId
uint8_t
getRootId
(short rootNode)
Given the node id of a routing tree root, determine the routing tree id (root parameter of data structures to use. Returns -1 if no more routing trees are available.