]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Removing Drip files from top level.
authorscipio <scipio>
Fri, 14 Sep 2007 00:26:23 +0000 (00:26 +0000)
committerscipio <scipio>
Fri, 14 Sep 2007 00:26:23 +0000 (00:26 +0000)
tos/lib/net/DisseminationC.nc [deleted file]
tos/lib/net/DisseminationCache.nc [deleted file]
tos/lib/net/DisseminationEngine.h [deleted file]
tos/lib/net/DisseminationEngineImplP.nc [deleted file]
tos/lib/net/DisseminationEngineP.nc [deleted file]
tos/lib/net/DisseminationTimerP.nc [deleted file]
tos/lib/net/DisseminatorC.nc [deleted file]
tos/lib/net/DisseminatorP.nc [deleted file]

diff --git a/tos/lib/net/DisseminationC.nc b/tos/lib/net/DisseminationC.nc
deleted file mode 100644 (file)
index 1fb0040..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <DisseminationEngine.h>
-
-/*
- * Copyright (c) 2006 Arch Rock Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - 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.
- * - Neither the name of the Arch Rock Corporation 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 COPYRIGHT HOLDERS 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
- * ARCHED ROCK OR ITS 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
- *
- */
-
-/**
- * The DisseminationC component is the top-level interface to the
- * dissemination protocol. StdControl controls all of the trickle
- * timers used for all of the keys. 
- *
- * See TEP118 - Dissemination for details.
- * 
- * @author Gilman Tolle <gtolle@archrock.com>
- * @version $Revision$
- */
-
-configuration DisseminationC {
-  provides interface StdControl;
-}
-implementation {
-  components DisseminationEngineP;
-  StdControl = DisseminationEngineP;
-}
diff --git a/tos/lib/net/DisseminationCache.nc b/tos/lib/net/DisseminationCache.nc
deleted file mode 100644 (file)
index 290c7d1..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-
-/*
- * Copyright (c) 2006 Arch Rock Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - 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.
- * - Neither the name of the Arch Rock Corporation 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 COPYRIGHT HOLDERS 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
- * ARCHED ROCK OR ITS 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
- *
- */
-
-/**
- * The DisseminationCache interface connects each DisseminatorC
- * component to the DisseminationEngineC component.
- *
- * See TEP118 - Dissemination for details.
- * 
- * @author Gilman Tolle <gtolle@archrock.com>
- * @version $Revision$ $Date$
- */
-
-interface DisseminationCache {
-  event error_t start();
-  event error_t stop();
-  command void* requestData( uint8_t* size );
-  command void storeData( void* data, uint8_t size, uint32_t seqno );
-  command uint32_t requestSeqno();
-  event void newData();
-}
diff --git a/tos/lib/net/DisseminationEngine.h b/tos/lib/net/DisseminationEngine.h
deleted file mode 100644 (file)
index 5092a79..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef DISSEMINATION_ENGINE_H
-#define DISSEMINATION_ENGINE_H
-
-/*
- * Copyright (c) 2006 Arched Rock Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - 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.
- * - Neither the name of the Arched Rock Corporation 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 COPYRIGHT HOLDERS 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
- * ARCHED ROCK OR ITS 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
- *
- */
-
-/*
- * TODO: Add a tiebreaker and an application GUID to the header
- */
-
-enum {
-  AM_DISSEMINATION_MESSAGE = 13,
-  AM_DISSEMINATION_PROBE_MESSAGE = 14,
-  DISSEMINATION_SEQNO_UNKNOWN = 0,
-};
-
-typedef nx_struct dissemination_message {
-  nx_uint16_t key;
-  nx_uint32_t seqno;
-  nx_uint8_t data[0];
-} dissemination_message_t;
-
-typedef nx_struct dissemination_probe_message {
-  nx_uint16_t key;
-} dissemination_probe_message_t;
-
-#endif
-
diff --git a/tos/lib/net/DisseminationEngineImplP.nc b/tos/lib/net/DisseminationEngineImplP.nc
deleted file mode 100644 (file)
index 16be42f..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-#include <DisseminationEngine.h>
-
-/*
- * Copyright (c) 2006 Arch Rock Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - 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.
- * - Neither the name of the Arch Rock Corporation 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 COPYRIGHT HOLDERS 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
- * ARCHED ROCK OR ITS 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
- *
- */
-
-/**
- * The DisseminationEngineImplP component implements the dissemination
- * logic.
- *
- * See TEP118 - Dissemination for details.
- * 
- * @author Gilman Tolle <gtolle@archrock.com>
- * @version $Revision$ $Date$
- */
-
-module DisseminationEngineImplP {
-  provides interface StdControl;
-
-  uses {
-    interface DisseminationCache[uint16_t key];
-    interface TrickleTimer[uint16_t key];
-    interface StdControl as DisseminatorControl[uint16_t id];
-
-    interface AMSend;
-    interface Receive;
-
-    interface AMSend as ProbeAMSend;
-    interface Receive as ProbeReceive;
-
-    interface Leds;
-  }
-}
-implementation {
-
-  enum { NUM_DISSEMINATORS = uniqueCount("DisseminationTimerC.TrickleTimer") };
-
-  message_t m_buf;
-  bool m_running;
-  bool m_bufBusy;
-
-  void sendProbe( uint16_t key );
-  void sendObject( uint16_t key );
-
-  command error_t StdControl.start() {
-    uint8_t i;
-    for ( i = 0; i < NUM_DISSEMINATORS; i++ ) {
-      call DisseminatorControl.start[ i ]();
-    }
-    m_running = TRUE;
-    return SUCCESS;
-  }
-
-  command error_t StdControl.stop() {
-    uint8_t i;
-    for ( i = 0; i < NUM_DISSEMINATORS; i++ ) {
-      call DisseminatorControl.stop[ i ]();
-    }
-    m_running = FALSE;
-    return SUCCESS;
-  }
-
-  event error_t DisseminationCache.start[ uint16_t key ]() {
-    error_t result = call TrickleTimer.start[ key ]();
-    call TrickleTimer.reset[ key ]();
-    return result;
-  }
-
-  event error_t DisseminationCache.stop[ uint16_t key ]() {
-    call TrickleTimer.stop[ key ]();
-    return SUCCESS;
-  }
-
-  event void DisseminationCache.newData[ uint16_t key ]() {
-
-    if ( !m_running || m_bufBusy ) { return; }
-
-    sendObject( key );
-    call TrickleTimer.reset[ key ]();
-  }
-
-  event void TrickleTimer.fired[ uint16_t key ]() {
-
-    if ( !m_running || m_bufBusy ) { return; }
-
-    sendObject( key );
-  }
-
-  void sendProbe( uint16_t key ) {
-    dissemination_probe_message_t* dpMsg = 
-      (dissemination_probe_message_t*) call ProbeAMSend.getPayload( &m_buf, sizeof(dissemination_probe_message_t));
-    if (dpMsg != NULL) {
-      m_bufBusy = TRUE;
-      
-      dpMsg->key = key;
-      
-      call ProbeAMSend.send( AM_BROADCAST_ADDR, &m_buf,
-                            sizeof( dissemination_probe_message_t ) );
-    }
-  }
-
-  void sendObject( uint16_t key ) {
-    void* object;
-    uint8_t objectSize = 0;
-    
-    dissemination_message_t* dMsg = 
-      (dissemination_message_t*) call AMSend.getPayload( &m_buf, sizeof(dissemination_message_t) );
-    if (dMsg != NULL) {
-      m_bufBusy = TRUE;
-      
-      dMsg->key = key;
-      dMsg->seqno = call DisseminationCache.requestSeqno[ key ]();
-      
-      if ( dMsg->seqno != DISSEMINATION_SEQNO_UNKNOWN ) {
-       object = call DisseminationCache.requestData[ key ]( &objectSize );
-       if ((objectSize + sizeof(dissemination_message_t)) > 
-           call AMSend.maxPayloadLength()) {
-         objectSize = call AMSend.maxPayloadLength() - sizeof(dissemination_message_t);
-       }
-       memcpy( dMsg->data, object, objectSize );
-      }      
-      call AMSend.send( AM_BROADCAST_ADDR,
-                       &m_buf, sizeof( dissemination_message_t ) + objectSize );
-    }
-  }
-
-  event void ProbeAMSend.sendDone( message_t* msg, error_t error ) {
-    m_bufBusy = FALSE;
-  }
-
-  event void AMSend.sendDone( message_t* msg, error_t error ) {
-    m_bufBusy = FALSE;
-  }
-
-  event message_t* Receive.receive( message_t* msg, 
-                                   void* payload, 
-                                   uint8_t len ) {
-
-    dissemination_message_t* dMsg = 
-      (dissemination_message_t*) payload;
-
-    uint16_t key = dMsg->key;
-    uint32_t incomingSeqno = dMsg->seqno;
-    uint32_t currentSeqno = call DisseminationCache.requestSeqno[ key ]();
-
-    if ( !m_running ) { return msg; }
-
-    if ( currentSeqno == DISSEMINATION_SEQNO_UNKNOWN &&
-        incomingSeqno != DISSEMINATION_SEQNO_UNKNOWN ) {
-
-      call DisseminationCache.storeData[ key ]
-       ( dMsg->data, 
-         len - sizeof( dissemination_message_t ),
-         incomingSeqno );
-      
-      call TrickleTimer.reset[ key ]();
-      return msg;
-    }
-
-    if ( incomingSeqno == DISSEMINATION_SEQNO_UNKNOWN &&
-        currentSeqno != DISSEMINATION_SEQNO_UNKNOWN ) {
-
-      call TrickleTimer.reset[ key ]();
-      return msg;
-    }
-
-    if ( (int32_t)( incomingSeqno - currentSeqno ) > 0 ) {
-
-      call DisseminationCache.storeData[key]
-       ( dMsg->data, 
-         len - sizeof(dissemination_message_t),
-         incomingSeqno );
-      dbg("Dissemination", "Received dissemination value 0x%08x,0x%08x @ %s\n", (int)key, (int)incomingSeqno, sim_time_string());
-      call TrickleTimer.reset[ key ]();
-
-    } else if ( (int32_t)( incomingSeqno - currentSeqno ) == 0 ) {
-      
-      call TrickleTimer.incrementCounter[ key ]();
-
-    } else {
-
-      // Still not sure which of these is the best. Immediate send for now.
-      sendObject( key );
-      // call TrickleTimer.reset[ key ]();
-
-    }
-
-    return msg;
-  }
-
-  event message_t* ProbeReceive.receive( message_t* msg, 
-                                        void* payload, 
-                                        uint8_t len) {
-    
-    dissemination_probe_message_t* dpMsg = 
-      (dissemination_probe_message_t*) payload;
-
-    if ( !m_running ) { return msg; }
-
-    if ( call DisseminationCache.requestSeqno[ dpMsg->key ]() != 
-        DISSEMINATION_SEQNO_UNKNOWN ) {    
-      sendObject( dpMsg->key );
-    }
-
-    return msg;
-  }
-  
-  default command void* 
-    DisseminationCache.requestData[uint16_t key]( uint8_t* size ) { return NULL; }
-
-  default command void 
-    DisseminationCache.storeData[uint16_t key]( void* data, 
-                                               uint8_t size, 
-                                               uint32_t seqno ) {}
-
-  default command uint32_t 
-    DisseminationCache.requestSeqno[uint16_t key]() { return DISSEMINATION_SEQNO_UNKNOWN; }
-
-  default command error_t TrickleTimer.start[uint16_t key]() { return FAIL; }
-
-  default command void TrickleTimer.stop[uint16_t key]() { }
-
-  default command void TrickleTimer.reset[uint16_t key]() { }
-
-  default command void TrickleTimer.incrementCounter[uint16_t key]() { }
-
-  default command error_t DisseminatorControl.start[uint16_t id]() { return FAIL; }
-  default command error_t DisseminatorControl.stop[uint16_t id]() { return FAIL; }
-}
diff --git a/tos/lib/net/DisseminationEngineP.nc b/tos/lib/net/DisseminationEngineP.nc
deleted file mode 100644 (file)
index f507a71..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <DisseminationEngine.h>
-
-/*
- * Copyright (c) 2006 Arch Rock Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - 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.
- * - Neither the name of the Arch Rock Corporation 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 COPYRIGHT HOLDERS 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
- * ARCHED ROCK OR ITS 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
- *
- */
-
-/**
- * The DisseminationEngineP component retrieves values from the
- * DisseminatorP components and disseminates them over the radio.
- *
- * TODO: Hook DisseminationProbe up to the serial instead of the radio.
- *
- * See TEP118 - Dissemination for details.
- * 
- * @author Gilman Tolle <gtolle@archrock.com>
- * @version $Revision$ $Date$
- */
-
-configuration DisseminationEngineP {
-  provides interface StdControl;
-
-  uses {
-    interface DisseminationCache[uint16_t key];
-    interface TrickleTimer[uint16_t key];
-    interface StdControl as DisseminatorControl[uint16_t id];
-  }
-}
-implementation {
-  components DisseminationEngineImplP;
-  StdControl = DisseminationEngineImplP;
-  DisseminationCache = DisseminationEngineImplP;
-  TrickleTimer = DisseminationEngineImplP;
-  DisseminatorControl = DisseminationEngineImplP;
-
-  components new AMSenderC(AM_DISSEMINATION_MESSAGE) as DisseminationSendC;
-  DisseminationEngineImplP.AMSend -> DisseminationSendC.AMSend;
-
-  components new AMReceiverC(AM_DISSEMINATION_MESSAGE) as DisseminationReceiveC;
-  DisseminationEngineImplP.Receive -> DisseminationReceiveC.Receive;
-
-  components new AMSenderC(AM_DISSEMINATION_PROBE_MESSAGE) as DisseminationProbeSendC;
-  DisseminationEngineImplP.ProbeAMSend -> DisseminationProbeSendC.AMSend;
-
-  components new AMReceiverC(AM_DISSEMINATION_PROBE_MESSAGE) 
-    as DisseminationProbeReceiveC;
-  DisseminationEngineImplP.ProbeReceive -> DisseminationProbeReceiveC.Receive;
-
-  components NoLedsC;
-  DisseminationEngineImplP.Leds -> NoLedsC;
-}
diff --git a/tos/lib/net/DisseminationTimerP.nc b/tos/lib/net/DisseminationTimerP.nc
deleted file mode 100644 (file)
index d9e48f9..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-
-/*
- * Copyright (c) 2006 Arch Rock Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - 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.
- * - Neither the name of the Arch Rock Corporation 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 COPYRIGHT HOLDERS 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
- * ARCHED ROCK OR ITS 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
- *
- */
-
-/*
- * The DisseminationTimerP component maintains a set of Trickle timers
- * and is wired to DisseminationEngineC once for each DisseminatorC.
- *
- * See TEP118 - Dissemination for details.
- * 
- * @author Gilman Tolle <gtolle@archrock.com>
- * @version $Revision$ $Date$
- */
-
-configuration DisseminationTimerP {
-  provides interface TrickleTimer[uint8_t id];
-}
-implementation {
-  components new TrickleTimerMilliC(1, 1024, 1, 
-                                   uniqueCount("DisseminationTimerC.TrickleTimer"));
-  TrickleTimer = TrickleTimerMilliC;
-}
diff --git a/tos/lib/net/DisseminatorC.nc b/tos/lib/net/DisseminatorC.nc
deleted file mode 100644 (file)
index 3890a96..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <DisseminationEngine.h>
-
-/*
- * Copyright (c) 2006 Arch Rock Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - 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.
- * - Neither the name of the Arch Rock Corporation 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 COPYRIGHT HOLDERS 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
- * ARCHED ROCK OR ITS 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
- *
- */
-
-/**
- * The DisseminatorC component holds and synchronizes a single value
- * of a chosen type, and identifies that value by a chosen 16-bit key.
- * Different nodes should use the same key for the same value.
- *
- * See TEP118 - Dissemination for details.
- * 
- * @param t the type of the object that will be disseminated
- * @param key the 16-bit identifier of the disseminated object
- *
- * @author Gilman Tolle <gtolle@archrock.com>
- * @version $Revision$ $Date$
- */
-
-generic configuration DisseminatorC(typedef t, uint16_t key) {
-  provides interface DisseminationValue<t>;
-  provides interface DisseminationUpdate<t>;
-}
-implementation {
-  enum {
-    TIMER_ID = unique("DisseminationTimerC.TrickleTimer")
-  };
-
-  components new DisseminatorP(t);
-  DisseminationValue = DisseminatorP;
-  DisseminationUpdate = DisseminatorP;
-
-  components DisseminationEngineP;
-  DisseminationEngineP.DisseminationCache[key] -> DisseminatorP;
-  DisseminationEngineP.DisseminatorControl[TIMER_ID] -> DisseminatorP;
-
-  components DisseminationTimerP;
-  DisseminationEngineP.TrickleTimer[key] -> 
-    DisseminationTimerP.TrickleTimer[TIMER_ID];
-
-  components LedsC;
-  DisseminatorP.Leds -> LedsC;
-}
diff --git a/tos/lib/net/DisseminatorP.nc b/tos/lib/net/DisseminatorP.nc
deleted file mode 100644 (file)
index 1a62804..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2006 Arch Rock Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - 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.
- * - Neither the name of the Arch Rock Corporation 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 COPYRIGHT HOLDERS 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
- * ARCHED ROCK OR ITS 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
- *
- */
-
-/**
- * The DisseminatorP module holds and synchronizes a single value of a
- * chosen type.
- *
- * See TEP118 - Dissemination for details.
- * 
- * @param t the type of the object that will be disseminated
- *
- * @author Gilman Tolle <gtolle@archrock.com>
- * @version $Revision$ $Date$
- */
-
-generic module DisseminatorP(typedef t) {
-  provides interface StdControl;
-
-  provides interface DisseminationValue<t>;
-  provides interface DisseminationUpdate<t>;
-  provides interface DisseminationCache;
-
-  uses interface Leds;
-}
-implementation {
-  t valueCache;
-  bool m_running;
-
-  // A sequence number is 32 bits. The top 16 bits are an incrementing
-  // counter, while the bottom 16 bits are a unique node identifier.
-  uint32_t seqno = DISSEMINATION_SEQNO_UNKNOWN;
-
-  command error_t StdControl.start() {
-    error_t result = signal DisseminationCache.start();
-    if ( result == SUCCESS ) { m_running = TRUE; }
-    return result;
-  }
-
-  command error_t StdControl.stop() {
-    if ( !m_running ) { return EOFF; }
-    m_running = FALSE;
-    return signal DisseminationCache.stop();
-  }
-
-  command const t* DisseminationValue.get() {
-    return &valueCache;
-  }
-
-  command void DisseminationValue.set( const t* val ) {
-    valueCache = *val;
-  }
-
-  command void DisseminationUpdate.change( t* newVal ) {
-    if ( !m_running ) { return; }
-    memcpy( &valueCache, newVal, sizeof(t) );
-    /* Increment the counter and append the local node ID. */
-    seqno = seqno >> 16;
-    seqno++;
-    if ( seqno == DISSEMINATION_SEQNO_UNKNOWN ) { seqno++; }
-    seqno = seqno << 16;
-    seqno += TOS_NODE_ID;
-    signal DisseminationCache.newData();
-  }
-
-  command void* DisseminationCache.requestData( uint8_t* size ) {
-    *size = sizeof(t);
-    return &valueCache;
-  }
-
-  command void DisseminationCache.storeData( void* data, uint8_t size,
-                                            uint32_t newSeqno ) {
-    memcpy( &valueCache, data, size < sizeof(t) ? size : sizeof(t) );
-    seqno = newSeqno;
-    signal DisseminationValue.changed();
-  }
-
-  command uint32_t DisseminationCache.requestSeqno() {
-    return seqno;
-  }
-
-  default event void DisseminationValue.changed() { }
-}