close
Warning:
BrowserModule failed with ConfigurationError: Look in the Trac log for more information.
- Timestamp:
-
Aug 15, 2008, 4:04:30 PM (16 years ago)
- Author:
-
heep
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v9
|
v10
|
|
22 | 22 | !OverSim nodes are the equivalent of individual terminals in the simulation environment. Nodes are based on a multi-tiered module hierarchy similar to OSI network layers (e.g. transport, overlay, application). The most used node type is called SimpleOverlayHost, and its tiers are structured as follows: |
23 | 23 | |
24 | | PICTURE MISSING |
| 24 | [[Image(SimpleOverlayHost.png)]] |
25 | 25 | |
26 | 26 | The UDP module is an implementation of the transport layer, and is in charge of communication between nodes. Above it is the overlay (KBR) tier, where the overlay module will be located. It communicates with other overlay nodes through the UDP layer, and exposes its services to the application layer above it. On the third tier is the application layer, which uses the services provided by the overlay module. Application modules may also use UDP directly if necessary. Other tiers may be activated above the application if required, these connect to the tier below and to the UDP module. |
… |
… |
|
204 | 204 | {{{ |
205 | 205 | #!cpp |
206 | | NodeVector* findNode( const OverlayKey& key, int numRedundantNodes, int numSiblings, BaseOverlayMessage* msg = NULL); |
| 206 | NodeVector* findNode(const OverlayKey& key, int numRedundantNodes, int numSiblings, BaseOverlayMessage* msg = NULL); |
207 | 207 | }}} |
208 | 208 | Must be overriden by the overlay, it returns the numSiblings closest nodes known to key in the routing topology. |
… |
… |
|
231 | 231 | #!cpp |
232 | 232 | inline uint32_t sendUdpRpcCall(const TransportAddress& dest, |
233 | | BaseCallMessage* msg, |
234 | | cPolymorphic* context = NULL, |
235 | | simtime_t timeout = -1, |
236 | | int retries = 0, int rpcId = -1, |
237 | | RpcListener* rpcListener = NULL); |
| 233 | BaseCallMessage* msg, |
| 234 | cPolymorphic* context = NULL, |
| 235 | simtime_t timeout = -1, |
| 236 | int retries = 0, int rpcId = -1, |
| 237 | RpcListener* rpcListener = NULL); |
238 | 238 | }}} |
239 | 239 | Sends the RPC message msg through UDP the address dest. |
… |
… |
|
301 | 301 | {{{ |
302 | 302 | #!cpp |
303 | | void handleRpcTimeout( BaseCallMessage* msg, const TransportAddress& dest, int rpcId, const OverlayKey& destKey); |
| 303 | void handleRpcTimeout(BaseCallMessage* msg, const TransportAddress& dest, int rpcId, const OverlayKey& destKey); |
304 | 304 | }}} |
305 | 305 | To be overriden by the overlay, it is called when an RPC times out. |