Renamed Rime module mh to multihop

This commit is contained in:
adamdunkels 2008-07-03 22:36:02 +00:00
parent d9b3097037
commit 4687c2c948
7 changed files with 55 additions and 55 deletions

View file

@ -33,7 +33,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: rime.h,v 1.19 2008/07/03 22:02:09 adamdunkels Exp $ * $Id: rime.h,v 1.20 2008/07/03 22:36:02 adamdunkels Exp $
*/ */
/** /**
@ -50,7 +50,7 @@
#include "net/rime/ctimer.h" #include "net/rime/ctimer.h"
#include "net/rime/ipolite.h" #include "net/rime/ipolite.h"
#include "net/rime/mesh.h" #include "net/rime/mesh.h"
#include "net/rime/mh.h" #include "net/rime/multihop.h"
#include "net/rime/neighbor-discovery.h" #include "net/rime/neighbor-discovery.h"
#include "net/rime/neighbor.h" #include "net/rime/neighbor.h"
#include "net/rime/netflood.h" #include "net/rime/netflood.h"

View file

@ -4,7 +4,7 @@ RIME_BASE = rimebuf.c queuebuf.c rimeaddr.c ctimer.c rime.c timesynch.c \
RIME_SINGLEHOP = broadcast.c stbroadcast.c unicast.c stunicast.c \ RIME_SINGLEHOP = broadcast.c stbroadcast.c unicast.c stunicast.c \
runicast.c abc.c \ runicast.c abc.c \
rucb.c polite.c ipolite.c rucb.c polite.c ipolite.c
RIME_MULTIHOP = netflood.c mh.c rmh.c trickle.c RIME_MULTIHOP = netflood.c multihop.c rmh.c trickle.c
RIME_MESH = mesh.c route.c route-discovery.c RIME_MESH = mesh.c route.c route-discovery.c
RIME_COLLECT = collect.c neighbor.c neighbor-discovery.c RIME_COLLECT = collect.c neighbor.c neighbor-discovery.c
RIME_RUDOLPH = rudolph0.c rudolph1.c rudolph2.c RIME_RUDOLPH = rudolph0.c rudolph1.c rudolph2.c

View file

@ -33,7 +33,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: mesh.c,v 1.13 2008/02/24 22:05:27 adamdunkels Exp $ * $Id: mesh.c,v 1.14 2008/07/03 22:36:02 adamdunkels Exp $
*/ */
/** /**
@ -62,11 +62,11 @@
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
static void static void
data_packet_received(struct mh_conn *mh, rimeaddr_t *from, data_packet_received(struct multihop_conn *multihop, rimeaddr_t *from,
rimeaddr_t *prevhop, uint8_t hops) rimeaddr_t *prevhop, uint8_t hops)
{ {
struct mesh_conn *c = (struct mesh_conn *) struct mesh_conn *c = (struct mesh_conn *)
((char *)mh - offsetof(struct mesh_conn, mh)); ((char *)multihop - offsetof(struct mesh_conn, multihop));
if(c->cb->recv) { if(c->cb->recv) {
c->cb->recv(c, from, hops); c->cb->recv(c, from, hops);
@ -74,7 +74,7 @@ data_packet_received(struct mh_conn *mh, rimeaddr_t *from,
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
static rimeaddr_t * static rimeaddr_t *
data_packet_forward(struct mh_conn *mh, rimeaddr_t *originator, data_packet_forward(struct multihop_conn *multihop, rimeaddr_t *originator,
rimeaddr_t *dest, rimeaddr_t *prevhop, uint8_t hops) rimeaddr_t *dest, rimeaddr_t *prevhop, uint8_t hops)
{ {
struct route_entry *rt; struct route_entry *rt;
@ -99,7 +99,7 @@ found_route(struct route_discovery_conn *rdc, rimeaddr_t *dest)
queuebuf_to_rimebuf(c->queued_data); queuebuf_to_rimebuf(c->queued_data);
queuebuf_free(c->queued_data); queuebuf_free(c->queued_data);
c->queued_data = NULL; c->queued_data = NULL;
mh_send(&c->mh, dest); multihop_send(&c->multihop, dest);
} }
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
@ -119,7 +119,7 @@ route_timed_out(struct route_discovery_conn *rdc)
} }
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
static const struct mh_callbacks data_callbacks = { data_packet_received, static const struct multihop_callbacks data_callbacks = { data_packet_received,
data_packet_forward }; data_packet_forward };
static const struct route_discovery_callbacks route_discovery_callbacks = static const struct route_discovery_callbacks route_discovery_callbacks =
{ found_route, route_timed_out }; { found_route, route_timed_out };
@ -128,7 +128,7 @@ void
mesh_open(struct mesh_conn *c, uint16_t channels, mesh_open(struct mesh_conn *c, uint16_t channels,
const struct mesh_callbacks *callbacks) const struct mesh_callbacks *callbacks)
{ {
mh_open(&c->mh, channels, &data_callbacks); multihop_open(&c->multihop, channels, &data_callbacks);
route_discovery_open(&c->route_discovery_conn, route_discovery_open(&c->route_discovery_conn,
CLOCK_SECOND * 2, CLOCK_SECOND * 2,
channels + 1, channels + 1,
@ -139,7 +139,7 @@ mesh_open(struct mesh_conn *c, uint16_t channels,
void void
mesh_close(struct mesh_conn *c) mesh_close(struct mesh_conn *c)
{ {
mh_close(&c->mh); multihop_close(&c->multihop);
route_discovery_close(&c->route_discovery_conn); route_discovery_close(&c->route_discovery_conn);
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
@ -148,7 +148,7 @@ mesh_send(struct mesh_conn *c, rimeaddr_t *to)
{ {
int could_send; int could_send;
could_send = mh_send(&c->mh, to); could_send = multihop_send(&c->multihop, to);
if(!could_send) { if(!could_send) {
if(c->queued_data != NULL) { if(c->queued_data != NULL) {

View file

@ -14,7 +14,7 @@
* \section channels Channels * \section channels Channels
* *
* The mesh module uses 3 channel; one for the multi-hop forwarding * The mesh module uses 3 channel; one for the multi-hop forwarding
* (\ref rimemh "mh") and two for the route disovery (\ref * (\ref rimemultihop "multihop") and two for the route disovery (\ref
* routediscovery "route-discovery"). * routediscovery "route-discovery").
* *
*/ */
@ -49,7 +49,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: mesh.h,v 1.11 2008/02/24 22:05:27 adamdunkels Exp $ * $Id: mesh.h,v 1.12 2008/07/03 22:36:02 adamdunkels Exp $
*/ */
/** /**
@ -63,7 +63,7 @@
#define __MESH_H__ #define __MESH_H__
#include "net/rime/queuebuf.h" #include "net/rime/queuebuf.h"
#include "net/rime/mh.h" #include "net/rime/multihop.h"
#include "net/rime/route-discovery.h" #include "net/rime/route-discovery.h"
struct mesh_conn; struct mesh_conn;
@ -81,7 +81,7 @@ struct mesh_callbacks {
}; };
struct mesh_conn { struct mesh_conn {
struct mh_conn mh; struct multihop_conn multihop;
struct route_discovery_conn route_discovery_conn; struct route_discovery_conn route_discovery_conn;
struct queuebuf *queued_data; struct queuebuf *queued_data;
rimeaddr_t queued_data_dest; rimeaddr_t queued_data_dest;

View file

@ -33,7 +33,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: mh.c,v 1.11 2008/06/26 11:19:22 adamdunkels Exp $ * $Id: multihop.c,v 1.1 2008/07/03 22:36:03 adamdunkels Exp $
*/ */
/** /**
@ -45,7 +45,7 @@
#include "contiki.h" #include "contiki.h"
#include "net/rime.h" #include "net/rime.h"
#include "net/rime/mh.h" #include "net/rime/multihop.h"
#include "net/rime/route.h" #include "net/rime/route.h"
#include <string.h> #include <string.h>
@ -69,7 +69,7 @@ struct data_hdr {
void void
data_packet_received(struct unicast_conn *uc, rimeaddr_t *from) data_packet_received(struct unicast_conn *uc, rimeaddr_t *from)
{ {
struct mh_conn *c = (struct mh_conn *)uc; struct multihop_conn *c = (struct multihop_conn *)uc;
struct data_hdr msg; struct data_hdr msg;
rimeaddr_t *nexthop; rimeaddr_t *nexthop;
@ -106,21 +106,21 @@ data_packet_received(struct unicast_conn *uc, rimeaddr_t *from)
static const struct unicast_callbacks data_callbacks = { data_packet_received }; static const struct unicast_callbacks data_callbacks = { data_packet_received };
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
void void
mh_open(struct mh_conn *c, uint16_t channel, multihop_open(struct multihop_conn *c, uint16_t channel,
const struct mh_callbacks *callbacks) const struct multihop_callbacks *callbacks)
{ {
unicast_open(&c->c, channel, &data_callbacks); unicast_open(&c->c, channel, &data_callbacks);
c->cb = callbacks; c->cb = callbacks;
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
void void
mh_close(struct mh_conn *c) multihop_close(struct multihop_conn *c)
{ {
unicast_close(&c->c); unicast_close(&c->c);
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
int int
mh_send(struct mh_conn *c, rimeaddr_t *to) multihop_send(struct multihop_conn *c, rimeaddr_t *to)
{ {
rimeaddr_t *nexthop; rimeaddr_t *nexthop;
struct data_hdr *hdr; struct data_hdr *hdr;
@ -132,10 +132,10 @@ mh_send(struct mh_conn *c, rimeaddr_t *to)
nexthop = c->cb->forward(c, &rimeaddr_node_addr, to, NULL, 0); nexthop = c->cb->forward(c, &rimeaddr_node_addr, to, NULL, 0);
if(nexthop == NULL) { if(nexthop == NULL) {
PRINTF("mh_send: no route\n"); PRINTF("multihop_send: no route\n");
return 0; return 0;
} else { } else {
PRINTF("mh_send: sending data towards %d.%d\n", PRINTF("multihop_send: sending data towards %d.%d\n",
nexthop->u8[0], nexthop->u8[1]); nexthop->u8[0], nexthop->u8[1]);
if(rimebuf_hdralloc(sizeof(struct data_hdr))) { if(rimebuf_hdralloc(sizeof(struct data_hdr))) {
hdr = rimebuf_hdrptr(); hdr = rimebuf_hdrptr();

View file

@ -4,17 +4,17 @@
*/ */
/** /**
* \defgroup rimemh Best-effort multihop forwarding * \defgroup rimemultihop Best-effort multihop forwarding
* @{ * @{
* *
* The mh module implements a multihop forwarding mechanism. Routes * The multihop module implements a multihop forwarding mechanism. Routes
* must have already been setup with the route_add() function. Setting * must have already been setup with the route_add() function. Setting
* up routes is done with another Rime module such as the \ref * up routes is done with another Rime module such as the \ref
* routediscovery "route-discovery module". * routediscovery "route-discovery module".
* *
* \section channels Channels * \section channels Channels
* *
* The mh module uses 1 channel. * The multihop module uses 1 channel.
* *
*/ */
@ -48,7 +48,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: mh.h,v 1.7 2008/06/26 11:19:22 adamdunkels Exp $ * $Id: multihop.h,v 1.1 2008/07/03 22:36:03 adamdunkels Exp $
*/ */
/** /**
@ -58,36 +58,36 @@
* Adam Dunkels <adam@sics.se> * Adam Dunkels <adam@sics.se>
*/ */
#ifndef __MH_H__ #ifndef __MULTIHOP_H__
#define __MH_H__ #define __MULTIHOP_H__
#include "net/rime/unicast.h" #include "net/rime/unicast.h"
#include "net/rime/rimeaddr.h" #include "net/rime/rimeaddr.h"
struct mh_conn; struct multihop_conn;
struct mh_callbacks { struct multihop_callbacks {
void (* recv)(struct mh_conn *ptr, void (* recv)(struct multihop_conn *ptr,
rimeaddr_t *sender, rimeaddr_t *sender,
rimeaddr_t *prevhop, rimeaddr_t *prevhop,
uint8_t hops); uint8_t hops);
rimeaddr_t *(* forward)(struct mh_conn *ptr, rimeaddr_t *(* forward)(struct multihop_conn *ptr,
rimeaddr_t *originator, rimeaddr_t *originator,
rimeaddr_t *dest, rimeaddr_t *dest,
rimeaddr_t *prevhop, rimeaddr_t *prevhop,
uint8_t hops); uint8_t hops);
}; };
struct mh_conn { struct multihop_conn {
struct unicast_conn c; struct unicast_conn c;
const struct mh_callbacks *cb; const struct multihop_callbacks *cb;
}; };
void mh_open(struct mh_conn *c, uint16_t channel, void multihop_open(struct multihop_conn *c, uint16_t channel,
const struct mh_callbacks *u); const struct multihop_callbacks *u);
void mh_close(struct mh_conn *c); void multihop_close(struct multihop_conn *c);
int mh_send(struct mh_conn *c, rimeaddr_t *to); int multihop_send(struct multihop_conn *c, rimeaddr_t *to);
#endif /* __MH_H__ */ #endif /* __MULTIHOP_H__ */
/** @} */ /** @} */
/** @} */ /** @} */

View file

@ -28,12 +28,12 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: example-mh.c,v 1.2 2008/02/24 22:15:46 adamdunkels Exp $ * $Id: example-multihop.c,v 1.1 2008/07/03 22:36:02 adamdunkels Exp $
*/ */
/** /**
* \file * \file
* Testing the multihop forwarding layer (mh) in Rime * Testing the multihop forwarding layer (multihop) in Rime
* \author * \author
* Adam Dunkels <adam@sics.se> * Adam Dunkels <adam@sics.se>
*/ */
@ -47,31 +47,31 @@
#include <stdio.h> #include <stdio.h>
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
PROCESS(example_mh_process, "mh example"); PROCESS(example_multihop_process, "multihop example");
AUTOSTART_PROCESSES(&example_mh_process); AUTOSTART_PROCESSES(&example_multihop_process);
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
static void static void
recv(struct mh_conn *c, rimeaddr_t *sender) recv(struct multihop_conn *c, rimeaddr_t *sender)
{ {
printf("mh message received '%s'\n", (char *)rimebuf_dataptr()); printf("multihop message received '%s'\n", (char *)rimebuf_dataptr());
} }
static rimeaddr_t * static rimeaddr_t *
forward(struct mh_conn *c, rimeaddr_t *originator, rimeaddr_t *dest, forward(struct multihop_conn *c, rimeaddr_t *originator, rimeaddr_t *dest,
rimeaddr_t *prevhop, uint8_t hops) rimeaddr_t *prevhop, uint8_t hops)
{ {
printf("Forwarding message '%s'\n", (char *)rimebuf_dataptr()); printf("Forwarding message '%s'\n", (char *)rimebuf_dataptr());
return NULL; return NULL;
} }
static const struct mh_callbacks mh_call = {recv, forward}; static const struct multihop_callbacks multihop_call = {recv, forward};
static struct mh_conn mh; static struct multihop_conn multihop;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
PROCESS_THREAD(example_mh_process, ev, data) PROCESS_THREAD(example_multihop_process, ev, data)
{ {
PROCESS_EXITHANDLER(mh_close(&mh);) PROCESS_EXITHANDLER(multihop_close(&multihop);)
PROCESS_BEGIN(); PROCESS_BEGIN();
mh_open(&mh, 128, &mh_call); multihop_open(&multihop, 128, &multihop_call);
while(1) { while(1) {
static struct etimer et; static struct etimer et;
@ -84,7 +84,7 @@ PROCESS_THREAD(example_mh_process, ev, data)
rimebuf_copyfrom("Hej", 4); rimebuf_copyfrom("Hej", 4);
to.u8[0] = 161; to.u8[0] = 161;
to.u8[1] = 161; to.u8[1] = 161;
mh_send(&mh, &to); multihop_send(&multihop, &to);
} }