diff --git a/core/net/rime.h b/core/net/rime.h index eda46286b..f93f03d20 100644 --- a/core/net/rime.h +++ b/core/net/rime.h @@ -33,7 +33,7 @@ * * This file is part of the Contiki operating system. * - * $Id: rime.h,v 1.15 2008/01/24 06:17:33 adamdunkels Exp $ + * $Id: rime.h,v 1.16 2008/06/30 19:56:08 adamdunkels Exp $ */ /** @@ -46,6 +46,7 @@ #ifndef __RIME_H__ #define __RIME_H__ +#include "net/rime/announcement.h" #include "net/rime/collect.h" #include "net/rime/ctimer.h" #include "net/rime/ipolite.h" @@ -64,7 +65,6 @@ #include "net/rime/route.h" #include "net/rime/ruc.h" #include "net/rime/rucb.h" -#include "net/rime/sibc.h" #include "net/rime/timesynch.h" #include "net/rime/trickle.h" diff --git a/core/net/rime/sibc.c b/core/net/rime/sibc.c deleted file mode 100644 index 9147388cd..000000000 --- a/core/net/rime/sibc.c +++ /dev/null @@ -1,119 +0,0 @@ -/** - * \addtogroup rimesibc - * @{ - */ - -/* - * Copyright (c) 2006, Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file is part of the Contiki operating system. - * - * $Id: sibc.c,v 1.8 2008/06/26 11:19:22 adamdunkels Exp $ - */ - -/** - * \file - * Implementation of the Rime module Stubborn Identified BroadCast (sibc) - * \author - * Adam Dunkels - */ - -#include "net/rime/sibc.h" -#include "net/rime.h" -#include - -/*---------------------------------------------------------------------------*/ -static void -recv_from_broadcast(struct broadcast_conn *ibc, rimeaddr_t *from) -{ - register struct sibc_conn *c = (struct sibc_conn *)ibc; - /* DEBUGF(3, "sibc: recv_from_broadcast from %d\n", from_id);*/ - if(c->u->recv != NULL) { - c->u->recv(c, from); - } -} -/*---------------------------------------------------------------------------*/ -static const struct broadcast_callbacks sibc = {recv_from_broadcast}; -/*---------------------------------------------------------------------------*/ -void -sibc_open(struct sibc_conn *c, uint16_t channel, - const struct sibc_callbacks *u) -{ - broadcast_open(&c->c, channel, &sibc); - c->u = u; -} -/*---------------------------------------------------------------------------*/ -void -sibc_close(struct sibc_conn *c) -{ - broadcast_close(&c->c); - ctimer_stop(&c->t); -} -/*---------------------------------------------------------------------------*/ -static void -send(void *ptr) -{ - struct sibc_conn *c = ptr; - - /* DEBUGF(3, "sibc: send()\n");*/ - queuebuf_to_rimebuf(c->buf); - broadcast_send(&c->c); - ctimer_reset(&c->t); - if(c->u->sent != NULL) { - c->u->sent(c); - } -} -/*---------------------------------------------------------------------------*/ -void -sibc_set_timer(struct sibc_conn *c, clock_time_t t) -{ - ctimer_set(&c->t, t, send, c); -} -/*---------------------------------------------------------------------------*/ -int -sibc_send_stubborn(struct sibc_conn *c, clock_time_t t) -{ - if(c->buf != NULL) { - queuebuf_free(c->buf); - } - c->buf = queuebuf_new_from_rimebuf(); - if(c->buf == NULL) { - return 0; - } - ctimer_set(&c->t, t, send, c); - return 1; - -} -/*---------------------------------------------------------------------------*/ -void -sibc_cancel(struct sibc_conn *c) -{ - ctimer_stop(&c->t); -} -/*---------------------------------------------------------------------------*/ -/** @} */ diff --git a/core/net/rime/sibc.h b/core/net/rime/sibc.h deleted file mode 100644 index 014d07633..000000000 --- a/core/net/rime/sibc.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimesibc Stubborn identified broadcast - * @{ - * - * The sibc module provides stubborn identified best-effort local area - * broadcast. A message sent with the sibc module is repeated until - * either the mssage is canceled or a new message is sent. Messages - * sent with the sibc module are identified with a sender ID. - * - * \section channels Channels - * - * The sibc module uses 1 channel. - * - */ - -/* - * Copyright (c) 2006, Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file is part of the Contiki operating system. - * - * $Id: sibc.h,v 1.8 2008/06/26 11:19:22 adamdunkels Exp $ - */ - -/** - * \file - * Header file for the Rime module Stubborn Identified BroadCast (sibc) - * \author - * Adam Dunkels - */ - -#ifndef __SIBC_H__ -#define __SIBC_H__ - -#include "net/rime/broadcast.h" -#include "net/rime/ctimer.h" -#include "net/rime/queuebuf.h" - -struct sibc_conn; - -struct sibc_callbacks { - void (* recv)(struct sibc_conn *c, rimeaddr_t *from); - void (* sent)(struct sibc_conn *c); -}; - -struct sibc_conn { - struct broadcast_conn c; - struct ctimer t; - struct queuebuf *buf; - const struct sibc_callbacks *u; -}; - -void sibc_open(struct sibc_conn *c, uint16_t channel, - const struct sibc_callbacks *u); -void sibc_close(struct sibc_conn *c); - -int sibc_send_stubborn(struct sibc_conn *c, clock_time_t t); -void sibc_cancel(struct sibc_conn *c); - -void sibc_set_timer(struct sibc_conn *c, clock_time_t t); - -#endif /* __SIBC_H__ */ -/** @} */ -/** @} */