Code Search for Developers
 
 
  

README from EmStar at Krugle


Show README syntax highlighted

The "application" is Reliable Data Dissemination (RDD). For now the top level dir
is just called "block".

RDD is made up of eight emstar components, each residing in its own directory:

* haveblock
* needblock
* ackblock
* broadcastblock
* deleteblock
* receiveblock
* sinkstatus
* sinkgradient

Current code layout:

* include/ - application-wide headers
* src/ - application-wide sources
* test/ - all test and tool related apps
* testtabs/ - all emrun and emsim files
* haveblock/ - source for haveblock
* needblock/ - 
* ackblock/ -
* broadcastblock/


RDD Fragment:

The RDD Fragment is data structure beginning with a block_t and then some small 
amount of payload. All data currently lives in SIM_PATH("/dev/blocks_repository")

RDD Fragment on disk:

	/dev/block/blocks_dir/2005_192.168.1.234_23987493/0_100_1232432
                          ^^^^GUID^^^^^^^^^^^^^^^^^^^ A B   C

    GUID = User specific. The format is opaque to RDD.
           RDD assumes it to be globally unique however,
           so it probably has things like time, IP, etc.
    A = offset into file
    B = length of this block
    C = total length of file
    
    So the above file (0_100_1232432) is the first 100 bytes of a 1232432 
    byte user file. The original user file name is GUID.
    
* The file actually looks like:

 data:  [   block_t   ] [ user-data ]
 bits:  sizeof(block_t)   arbitrary

Defragmenting user data:

* I have to write a tool that strips the first sizeof(block_t) bytes off of each 
  fragment and then reassembles the results in order, assuming you have all the
  peices. 



See more files for this project here

EmStar

EmStar is a software system for developing and deploying wireless sensor networks involving Linux-based platforms. As the wireless sensor network community has attempted to deploy more complex designs---large-scale, long-lived systems that need self-organization and adaptivity---a number of difficult software design issues have arisen. Advances in software design have not kept pace with the capabilities of hardware. This is because designing for an adaptive, efficient, and useful sensor network has turned out to be surprisingly complex and difficult. EmStar is a Linux-based software framework, whose goal is to dramatically reduce this complexity, enabling work to be shared and reused, and simplifying and speeding the design of new sensor network applications.

Project homepage: http://cvs.cens.ucla.edu/emstar/
Programming language(s): C,Shell Script
License: other

  ackblock/
    ackblock.c
    ackblock_type.c
  broadcastblock/
    broadcastblock.c
  deleteblock/
    deleteblock.c
  fragmenter/
    fragmenter.c
  haveblock/
    haveblock.c
    haveblock_type.c
  include/
    ackblock.h
    block.h
    block_macros.h
    haveblock.h
    ioutils.h
    needblock.h
    parent_child.h
    rddhop.h
  needblock/
    needblock.c
    needblock_type.c
  reassembler/
    reassembler.c
  receiveblock/
    receiveblock.c
  sinkgradient/
    sinkgradient.c
    sinkgradient.h
    sinkgradient_type.c
  sinkstatus/
    sinkstatus.c
  src/
    block.c
    parent_child.c
    rddhop.c
  test/
    bin/
      clear_files.sh
      create_file.sh
      runtest-ceiling-sim.sh
      runtest-ceiling.sh
      runtest-mhflood-full.sh
      runtest-statesoft-full.sh
      runtest.sh
      runtestfull.sh
    test_input/
      2005_test_file_foo_0
      2005_test_file_foo_16
      2005_test_file_foo_32
      2005_test_file_foo_48
    block_status.c
    command.gnuplot
    subhaveblock.c
    test_input2005_test_file_foo_0
    test_read_block.c
    test_write_block.c
    test_write_block_input
    write_output.pl
  testtabs/
    802-test-mhflood.sim
    802-test-pair.sim
    802-test-softstate.sim
    802-test.sim
    stargate.run
    test_mhflood_80211.run
    test_multihop_80211.run
    test_softstate_80211.run
  utils/
    ioutils.c
  BUILD
  README
  TODO