pydtn

DTN module for the simlpy simulator. More...

Classes

class  AliasLink
 An alias for a SimLink. More...
class  BundleEvent
 Event containing a DTN::Bundle. More...
class  BundleHandler
 Abstract base class for Entitys that can handle BundleEvents. More...
class  BundleMaker
 Abstract base class for bundle generation. More...
class  ConsumerAlias
 An alias to a DTN::Consumer. More...
class  CustodyEntity
 Base class for Entitys controlling DTN::CustodyPolicys. More...
class  DumpConsumer
 Data consumer that simply dumps the bundle information to stdout. More...
class  ExplicitRoutingEntity
 Wrapper for a DTN::ExplicitRoutingTable. More...
class  FlatStore
 A simple storage class for DTN::Bundles. More...
class  FlatStoreItr
 Representation of a DTN::BundlePointer as an iterator for FlatStore. More...
class  ForwardingEntity
 Base class for Entitys controlling DTN::ForwardingPolicys. More...
class  Globals
 Global configuration. More...
class  GlobalStatistics
 Singleton subclass of MultiNodeStatistics. More...
class  GStatCollect
 Simple Event to collect statistical information. More...
class  GStatDump
 Event handler that dumps global statistical information to a stream. More...
class  GStatEntity
 Abstract base class for Entitys that can handle Events related to GlobalStatistics. More...
class  GStatForget
 Simple Event to clear the statistical totals collected. More...
class  GStatTrigger
 Simple Event to trigger periodic collecting of statistical information. More...
class  HeavyTailBundleMaker
 Create Bundles sized according to a heavy-tailed distribution. More...
class  HeavyTailTimeDist
 Heavy-tailed time distribution. More...
class  LinkAvailEvent
 Event to set a SimLink's busy state back to false. More...
class  LinkUpDownEvent
 Event to change the up/down state of a SimLink. More...
class  Measurement
 Encapsulation of a measurement as a value and variance/deviation. More...
class  MockBundle
 Derived type of DTN::Bundle designed for simulating large data sizes. More...
class  MultiNodeStatistics
 Subclass of Statistics that can aggregate statistics for multiple DTN::Nodes. More...
class  NodeCollector
 Abstract base class for WrapNode-data collection functional. More...
class  PersistentBundle
 Internal representation type for a persistent DTN::Bundle. More...
class  PersistentStore
 A simple persistent store class for DTN::Bundles. More...
class  PersistentStoreItr
 Representation of a DTN::BundlePointer as an iterator for PersistentStore. More...
class  PoissonTimeDist
 Poisson time distribution. More...
class  PrefixRoutingEntity
 Wrapper for a DTN::PrefixRoutingTable. More...
class  PythonBundleMaker
 Bundle maker for traffic generation that uses a python function. More...
class  PythonTimeDistribution
 Time distribution for traffic generation that uses a python function. More...
class  ResendEvent
 Event to trigger resending stored DTN::Bundles. More...
class  RoutingEntity
 Base class for specific Entitys wrapping DTN::RoutingTables. More...
class  Sequencer
 Sequence number tracker. More...
class  SimLink
 A DTN::Link in the simulator. More...
class  SpaceAvailEntity
 Class for Entitys wrapping DTN::SpaceAvailCustody. More...
class  Stat
 Simple statistical accumulator. More...
class  UniqueStat
 Stats that distinguish between unique and duplicate DTN::Bundles. More...
class  StatCollection
 A collection of Stats. More...
class  Statistics
 DTN::Consumer for collecting statistical information on a simulated DTN. More...
class  TimeDistribution
 Abstract base class for time distributions. More...
class  TraceConsumer
 A special DTN::Consumer that calls the GlobalTracer's hooks. More...
class  Tracer
 Base class for trace generators. More...
class  TracerChain
 Tracer that passes objects to a series of other Tracers. More...
class  GlobalTracer
 A singleton TracerChain. More...
class  TrafficGenerator
 Generic traffic generator class. More...
class  TrafficTrigger
 Trigger event for traffic generation. More...
class  UniformBundleMaker
 Create Bundles of a fixed size. More...
class  UniformTimeDist
 Uniform time distribution. More...
class  WrapLink
 Entity to provide access to a Link through the simulator. More...
class  WrapNode
 Entity to provide access to a DTN::Node through the simulator. More...

Defines

#define PyMODINIT_FUNC   extern "C" void
 Newer versions of Python define this, so that linkage and type are handled transparently.

Functions

std::ostream & operator<< (std::ostream &stream, const Measurement &m)
 Overloaded stream output.
WrapNodeparse_node (InterpreterItem o)
 Given an interpreter reference, return the corresponding node.
WrapLinkparse_link (InterpreterItem o)
 Given an interpreter reference, return the corresponding link.
std::string stringify (const DTN::ByteString &s)
 Convert a byte string into a printable string.
static PyObject * PydtnAppObject_new (PyTypeObject *type, PyObject *args, PyObject *kwds)
 Create a new application object.
static void PydtnAppObject_dealloc (PydtnAppObject *self)
 Free the memory used by the application.
static PyObject * PydtnAppObject_repr (PyObject *self)
 Python string representation of the application.
static PyObject * PydtnAppObject_appID (PydtnAppObject *self)
 The unique identifier for this application.
static PyObject * PydtnAppObject_process (PydtnAppObject *self, PyObject *args)
 Process a bundle as if it were received over the network.
void addType_PydtnAppObject (PyObject *m)
 Add PydtnAppObject to the given module.
int PydtnAppObject_Check (PyObject *o)
 Test whether an object is of type PydtnAppObject.
static PyObject * create_PydtnBundle (DTN::Bundle *b)
 Constructor for a PydtnBundle.
static PyObject * PydtnBundle_new (PyTypeObject *type, PyObject *args, PyObject *kwds)
 Python constructor for PydtnBundle.
static void PydtnBundle_dealloc (PydtnBundle *self)
 Destructor for PydtnBundle.
static PyObject * PydtnBundle_repr (PyObject *self)
 String representation of a PydtnBundle.
static PyObject * PydtnBundle_size (PydtnBundle *self)
 Get the total size of a bundle.
static PyObject * PydtnBundle_seqNum (PydtnBundle *self)
 Get the bundle's sequence number.
static PyObject * PydtnBundle_source (PydtnBundle *self)
 Get the source address of the bundle.
static PyObject * PydtnBundle_destination (PydtnBundle *self)
 Get the destination address of the bundle.
static PyObject * PydtnBundle_custodian (PydtnBundle *self)
 Get the custodian address of the bundle.
static PyObject * PydtnBundle_send (PydtnBundle *self)
 Get the last-hop sender address of the bundle.
static PyObject * PydtnBundle_recv (PydtnBundle *self)
 Get the last-hop receiver address of the bundle.
static PyObject * PydtnBundle_payload (PydtnBundle *self)
 Get the data payload of the bundle.
static PyObject * PydtnBundle_created (PydtnBundle *self)
 Get the time at which the bundle was created.
static PyObject * PydtnBundle_expiry (PydtnBundle *self)
 Get the time at which the bundle expires.
static PyObject * PydtnBundle_app (PydtnBundle *self)
 Get the application identifier for the bundle.
static PyObject * PydtnBundle_hopCount (PydtnBundle *self)
 Get the number of hops the bundle has taken through the network.
static PyObject * PydtnBundle_expired (PydtnBundle *self)
 Has this bundle expired?
static PyObject * PydtnBundle_isData (PydtnBundle *self)
 Is this a data bundle?
static PyObject * PydtnBundle_isACK (PydtnBundle *self)
 Is this an acknowledgment bundle?
static PyObject * PydtnBundle_isNoACK (PydtnBundle *self)
 Do we refrain from acknowledging this bundle?
static PyObject * PydtnBundle_isCustodial (PydtnBundle *self)
 Does this bundle request custody transfer?
static PyObject * PydtnBundle_isBcast (PydtnBundle *self)
 Is this a broadcast bundle?
void addType_PydtnBundle (PyObject *m)
 Add PydtnBundle to the given module.
PyObject * PydtnBundle_wrapBundle (const DTN::Bundle &b)
 Create a PydtnBundle from an existing DTN::Bundle.
int PydtnBundle_Check (PyObject *o)
 Test whether an object is of type PydtnBundle.
static PyObject * dtn_config (PyObject *self, PyObject *args)
 Configure global parameters.
static PyObject * dtn_trace (PyObject *self, PyObject *args)
 Enable tracing.
static PyObject * dtn_stats (PyObject *self, PyObject *args)
 Set up global statistics collection.
void pydtn_statdump ()
 End-of-simulation statistics printing.
void init_pydtn (void)
 Initialize the module.
 PydtnApplication::PydtnApplication (PydtnAppObject *pyapp, PyObject *pyappID)
 Constructor.
virtual PydtnApplication::~PydtnApplication ()
 Virtual destructor.
PyObject * PydtnApplication::pyid ()
 The application identifier as a python object.
void PydtnApplication::process (const DTN::Bundle &b)
 Call the application on a received Bundle.

Variables

static char PydtnAppObject_doc []
 Python documentation string for the Application class.
static PyMethodDef PydtnAppObject_methods []
 A struct defining the object method calls for PydtnAppObject.
static PyMemberDef PydtnAppObject_members []
 A struct defining the members of PydtnAppObject visible in Python through pydtn.Application.
static PyTypeObject PydtnAppObjectType
 A struct defining PydtnAppObject as pydtn.Application in Python, and the mappings between the standard Python object methods and our implementations.
static char PydtnBundle_doc []
 Python documentation string for the Bundle class.
static PyMethodDef PydtnBundle_methods []
 A struct defining the object method calls for PydtnBundle.
static PyMemberDef PydtnBundle_members []
 A struct defining the members of PydtnBundle visible in Python through pydtn.Bundle.
static PyTypeObject PydtnBundleType
 A struct defining PydtnBundle as pydtn.Bundle in Python, and the mappings between the standard Python object methods and our implementations.
static GStatDumpgsd = 0
 Statistics-dumping Consumer.
static char dtn_config_doc []
 Python docstring for dtn_config().
static char dtn_trace_doc []
 Python docstring for dtn_trace().
static char dtn_stats_doc []
 Python docstring for dtn_stats().
static PyMethodDef ExampleMethods []
 A struct defining the mappings between Python function calls and their implementations.

Detailed Description

DTN module for the simlpy simulator.


Define Documentation

#define PyMODINIT_FUNC   extern "C" void

Newer versions of Python define this, so that linkage and type are handled transparently.

We only define it if not already defined.

Definition at line 60 of file python_init.cc.


Function Documentation

std::ostream& operator<< ( std::ostream &  stream,
const Measurement m 
)

Overloaded stream output.

Output is of the form a+-b.

Parameters:
stream The output stream
m The measurement to print
Returns:
The modified stream

Definition at line 125 of file Measurement.cc.

References Measurement::deviation(), and Measurement::value().

WrapNode* parse_node ( InterpreterItem  o  ) 

Given an interpreter reference, return the corresponding node.

Parameters:
o An interpreter reference
Returns:
the corresponding node, or 0 if there isn't one

Definition at line 42 of file parsers.cc.

References ItemWrapper::item, resolve_symbol(), and ItemWrapper::type.

Referenced by aodv_attach(), WrapLink::configure(), ExplicitRoutingEntity::configure(), WrapNode::emit(), PydtnAppObject_new(), PydtnBundle_new(), sampleapp_attach(), sampleapp_send(), and storeprofile_collect().

WrapLink* parse_link ( InterpreterItem  o  ) 

Given an interpreter reference, return the corresponding link.

Parameters:
o An interpreter reference
Returns:
the corresponding link, or 0 if there isn't one

Definition at line 59 of file parsers.cc.

References ItemWrapper::item, resolve_symbol(), and ItemWrapper::type.

Referenced by PrefixRoutingEntity::configure(), and ExplicitRoutingEntity::configure().

std::string stringify ( const DTN::ByteString &  s  ) 

Convert a byte string into a printable string.

If the input string contains only printable characters, the output is the ASCII representation. Otherwise, the output is a string of octal bytes.

Parameters:
s A byte string
Returns:
a standard printable string

Definition at line 76 of file parsers.cc.

Referenced by Epidemic::EpidemicApp::newNeighbor(), BasicEpidemic::EpidemicApp::newNeighbor(), Epidemic::EpidemicApp::process(), BasicEpidemic::EpidemicApp::process(), PydtnBundle_app(), PydtnBundle_custodian(), PydtnBundle_destination(), PydtnBundle_payload(), PydtnBundle_recv(), PydtnBundle_repr(), PydtnBundle_send(), and PydtnBundle_source().

static PyObject * PydtnAppObject_new ( PyTypeObject *  type,
PyObject *  args,
PyObject *  kwds 
) [static]

Create a new application object.

Parameters:
type The type of object to create, in this case PydtnAppObjectType
args The constructor arguments: a tuple <node,identifier,callable>
kwds Keyword arguments (not used)
Returns:
a new PydtnAppObject

Definition at line 243 of file PydtnApplication.cc.

References WrapNode::addApplication(), build_arglist(), clean_arglist(), and parse_node().

static void PydtnAppObject_dealloc ( PydtnAppObject self  )  [static]

Free the memory used by the application.

Parameters:
self An application object

Definition at line 51 of file PydtnApplication.cc.

static PyObject* PydtnAppObject_repr ( PyObject *  self  )  [static]

Python string representation of the application.

Parameters:
self The application
Returns:
a new reference to a string

Definition at line 64 of file PydtnApplication.cc.

References construct_string().

static PyObject* PydtnAppObject_appID ( PydtnAppObject self  )  [static]

The unique identifier for this application.

Parameters:
self The application
Returns:
the identifier from the internal PydtnApplication pointer

Definition at line 73 of file PydtnApplication.cc.

static PyObject* PydtnAppObject_process ( PydtnAppObject self,
PyObject *  args 
) [static]

Process a bundle as if it were received over the network.

This is designed to look like an object method, even though it uses a callable object. That is, the object must expect to be called with "self" as the first argument.

Parameters:
self The application object
args The argument list, which should be a tuple containing a pydtn.Bundle (PydtnBundle)
Returns:
the result of the callable object (generally None)

Definition at line 91 of file PydtnApplication.cc.

void addType_PydtnAppObject ( PyObject *  m  ) 

Add PydtnAppObject to the given module.

Parameters:
m The module, which should be pydtn.

Definition at line 303 of file PydtnApplication.cc.

Referenced by init_pydtn().

int PydtnAppObject_Check ( PyObject *  o  ) 

Test whether an object is of type PydtnAppObject.

Parameters:
o An object
Returns:
true if o is of type PydtnAppObject

Definition at line 312 of file PydtnApplication.cc.

static PyObject * create_PydtnBundle ( DTN::Bundle b  )  [static]

Constructor for a PydtnBundle.

Since we have two ways to create a PydtnBundle, both ultimately call this method. The bundle passed in should be a clone of the bundle that will be passed in C++.

Parameters:
b A bundle to make available (takes ownership)
Returns:
a new PydtnBundle

Definition at line 531 of file PydtnBundle.cc.

Referenced by PydtnBundle_new(), and PydtnBundle_wrapBundle().

static PyObject* PydtnBundle_new ( PyTypeObject *  type,
PyObject *  args,
PyObject *  kwds 
) [static]

Python constructor for PydtnBundle.

The arguments (in python) are:

Definition at line 68 of file PydtnBundle.cc.

References WrapNode::addr(), WrapNode::bundleLifetime(), create_PydtnBundle(), DTN::Bundle::kACK, DTN::Bundle::kBcast, DTN::Bundle::kCustodial, DTN::Bundle::kData, DTN::Bundle::kNoACK, DTN::Node::nextSeq(), WrapNode::node(), parse_node(), parse_time(), Clock::time(), and Time::tv.

static void PydtnBundle_dealloc ( PydtnBundle self  )  [static]

Destructor for PydtnBundle.

Parameters:
self The object to destroy

Definition at line 166 of file PydtnBundle.cc.

static PyObject* PydtnBundle_repr ( PyObject *  self  )  [static]

String representation of a PydtnBundle.

Parameters:
self The bundle object
Returns:
a Python string representing the bundle

Definition at line 176 of file PydtnBundle.cc.

References DTN::Bundle::app(), construct_string(), DTN::Bundle::created(), DTN::Bundle::custodian(), DTN::Bundle::destination(), DTN::Bundle::expired(), DTN::Bundle::expiry(), DTN::Bundle::hopCount(), DTN::Bundle::kACK, DTN::Bundle::kBcast, DTN::Bundle::kCustodial, DTN::Bundle::kData, DTN::Bundle::kNoACK, DTN::Bundle::payload(), DTN::Bundle::recv(), DTN::Bundle::send(), DTN::Bundle::seqNum(), DTN::Bundle::size(), DTN::Bundle::source(), stringify(), and DTN::Bundle::type().

static PyObject* PydtnBundle_size ( PydtnBundle self  )  [static]

Get the total size of a bundle.

Parameters:
self The bundle object
Returns:
a Python unsigned long int

Definition at line 213 of file PydtnBundle.cc.

References construct_ulong().

static PyObject* PydtnBundle_seqNum ( PydtnBundle self  )  [static]

Get the bundle's sequence number.

Parameters:
self The bundle object
Returns:
a Python unsigned long int

Definition at line 224 of file PydtnBundle.cc.

References construct_ulong().

static PyObject* PydtnBundle_source ( PydtnBundle self  )  [static]

Get the source address of the bundle.

Parameters:
self The bundle object
Returns:
a Python string

Definition at line 235 of file PydtnBundle.cc.

References construct_string(), and stringify().

static PyObject* PydtnBundle_destination ( PydtnBundle self  )  [static]

Get the destination address of the bundle.

Parameters:
self The bundle object
Returns:
a Python string

Definition at line 246 of file PydtnBundle.cc.

References construct_string(), and stringify().

static PyObject* PydtnBundle_custodian ( PydtnBundle self  )  [static]

Get the custodian address of the bundle.

Parameters:
self The bundle object
Returns:
a Python string

Definition at line 257 of file PydtnBundle.cc.

References construct_string(), and stringify().

static PyObject* PydtnBundle_send ( PydtnBundle self  )  [static]

Get the last-hop sender address of the bundle.

Parameters:
self The bundle object
Returns:
a Python string

Definition at line 268 of file PydtnBundle.cc.

References construct_string(), and stringify().

static PyObject* PydtnBundle_recv ( PydtnBundle self  )  [static]

Get the last-hop receiver address of the bundle.

Parameters:
self The bundle object
Returns:
a Python string

Definition at line 279 of file PydtnBundle.cc.

References construct_string(), and stringify().

static PyObject* PydtnBundle_payload ( PydtnBundle self  )  [static]

Get the data payload of the bundle.

Parameters:
self The bundle object
Returns:
a Python string

Definition at line 290 of file PydtnBundle.cc.

References construct_string(), and stringify().

static PyObject* PydtnBundle_created ( PydtnBundle self  )  [static]

Get the time at which the bundle was created.

Parameters:
self The bundle object
Returns:
a 2-element Python tuple

Definition at line 301 of file PydtnBundle.cc.

References construct_time().

static PyObject* PydtnBundle_expiry ( PydtnBundle self  )  [static]

Get the time at which the bundle expires.

Parameters:
self The bundle object
Returns:
a 2-element Python tuple

Definition at line 312 of file PydtnBundle.cc.

References construct_time().

static PyObject* PydtnBundle_app ( PydtnBundle self  )  [static]

Get the application identifier for the bundle.

Parameters:
self The bundle object
Returns:
a Python string

Definition at line 323 of file PydtnBundle.cc.

References construct_string(), and stringify().

static PyObject* PydtnBundle_hopCount ( PydtnBundle self  )  [static]

Get the number of hops the bundle has taken through the network.

Parameters:
self The bundle object
Returns:
a Python unsigned long int

Definition at line 334 of file PydtnBundle.cc.

References construct_ulong().

static PyObject* PydtnBundle_expired ( PydtnBundle self  )  [static]

Has this bundle expired?

Parameters:
self The bundle object
Returns:
a Python boolean

Definition at line 345 of file PydtnBundle.cc.

References construct_boolean().

static PyObject* PydtnBundle_isData ( PydtnBundle self  )  [static]

Is this a data bundle?

Parameters:
self The bundle object
Returns:
a Python boolean

Definition at line 356 of file PydtnBundle.cc.

References construct_boolean(), and DTN::Bundle::kData.

static PyObject* PydtnBundle_isACK ( PydtnBundle self  )  [static]

Is this an acknowledgment bundle?

Parameters:
self The bundle object
Returns:
a Python boolean

Definition at line 367 of file PydtnBundle.cc.

References construct_boolean(), and DTN::Bundle::kACK.

static PyObject* PydtnBundle_isNoACK ( PydtnBundle self  )  [static]

Do we refrain from acknowledging this bundle?

Parameters:
self The bundle object
Returns:
a Python boolean

Definition at line 378 of file PydtnBundle.cc.

References construct_boolean(), and DTN::Bundle::kNoACK.

static PyObject* PydtnBundle_isCustodial ( PydtnBundle self  )  [static]

Does this bundle request custody transfer?

Parameters:
self The bundle object
Returns:
a Python boolean

Definition at line 389 of file PydtnBundle.cc.

References construct_boolean(), and DTN::Bundle::kCustodial.

static PyObject* PydtnBundle_isBcast ( PydtnBundle self  )  [static]

Is this a broadcast bundle?

Parameters:
self The bundle object
Returns:
a Python boolean

Definition at line 400 of file PydtnBundle.cc.

References construct_boolean(), and DTN::Bundle::kBcast.

void addType_PydtnBundle ( PyObject *  m  ) 

Add PydtnBundle to the given module.

Parameters:
m The module, which should be pydtn.

Definition at line 551 of file PydtnBundle.cc.

Referenced by init_pydtn().

PyObject* PydtnBundle_wrapBundle ( const DTN::Bundle b  ) 

Create a PydtnBundle from an existing DTN::Bundle.

For memory management purposes, we copy the bundle, which makes this somewhat heavy-weight.

Parameters:
b The bundle to wrap
Returns:
a new PydtnBundle python object

Definition at line 560 of file PydtnBundle.cc.

References DTN::Bundle::clone(), and create_PydtnBundle().

Referenced by PydtnApplication::process().

int PydtnBundle_Check ( PyObject *  o  ) 

Test whether an object is of type PydtnBundle.

Parameters:
o An object
Returns:
true if o is of type PydtnBundle

Definition at line 566 of file PydtnBundle.cc.

Referenced by WrapNode::emit().

static PyObject* dtn_config ( PyObject *  self,
PyObject *  args 
) [static]

Configure global parameters.

This is called in Python as pydtn.config(args).

Parameters:
self Not used, required by Python
args A tuple of Python objects that should contain arguments as described by dtn_config_doc.
Returns:
None on success, or 0 on error

Definition at line 106 of file python_init.cc.

References build_arglist(), clean_arglist(), parse_double(), parse_string(), parse_time(), Globals::setBandwidth(), Globals::setBundleLifetime(), Globals::setLatency(), Globals::setPersistentCap(), Globals::setResendPeriod(), and Globals::setVolatileCap().

static PyObject* dtn_trace ( PyObject *  self,
PyObject *  args 
) [static]

Enable tracing.

This is called in Python as pydtn.trace(). In general, this shouldn't be needed, as an individual tracing module should be able to initialize global tracing.

Parameters:
self Not used, required by Python
args Not used, required by Python
Returns:
None on success, or 0 on error
See also:
dtn_trace_doc

Definition at line 201 of file python_init.cc.

References GlobalTracer::enable().

static PyObject* dtn_stats ( PyObject *  self,
PyObject *  args 
) [static]

Set up global statistics collection.

This is called in Python as pydtn.stats(fname,period).

Parameters:
self Not used, required by Python
args A tuple of Python objects; see dtn_stats_doc for the format
Returns:
None on success, or 0 on error

Definition at line 241 of file python_init.cc.

References GlobalStatistics::enable(), GlobalStatistics::instance(), Clock::schedule(), and Clock::time().

PyObject * PydtnApplication::pyid (  )  [inherited]

The application identifier as a python object.

Returns:
a borrowed reference to a Python string with the app ID

Definition at line 359 of file PydtnApplication.cc.


Variable Documentation

PyMethodDef PydtnAppObject_methods[] [static]

Initial value:

{
   { "appID",   (PyCFunction)PydtnAppObject_appID,   METH_NOARGS,
     "returns the application identifier" },
   { "process", (PyCFunction)PydtnAppObject_process, METH_VARARGS,
     "process a pydtn.Bundle as if it were received over the network" },
   {0} 
}
A struct defining the object method calls for PydtnAppObject.

Definition at line 174 of file PydtnApplication.cc.

PyMemberDef PydtnAppObject_members[] [static]

Initial value:

{
   { "node", T_OBJECT_EX, offsetof(PydtnAppObject, node), READONLY,
     "the owner node" },
   {0} 
}
A struct defining the members of PydtnAppObject visible in Python through pydtn.Application.

Definition at line 185 of file PydtnApplication.cc.

PyTypeObject PydtnAppObjectType [static]

A struct defining PydtnAppObject as pydtn.Application in Python, and the mappings between the standard Python object methods and our implementations.

Definition at line 195 of file PydtnApplication.cc.

char PydtnBundle_doc[] [static]

Initial value:

 "Python-accessible version of a bundle.\n\
   \n\
   This is a non-modifiable version of a bundle.  Bundles may be\n\
   created by the backend and passed to python, or they may be\n\
   created in python with the following syntax:\n\
   \n\
      b = pydtn.Bundle( **kwargs )\n\
   \n\
   where **kwargs includes the following (defaults in brackets):\n\
   \n\
      src         = <source node>\n\
      dest        = <destination node>\n\
      data        = <payload data string>   [\"\"]\n\
      lifetime    = <bundle lifetime>       [src.get('bundle_lifetime')]\n\
      app         = <application identifier [\"\"]\n\
      isData      = <boolean>               [True]\n\
      isACK       = <boolean>               [False]\n\
      isNoACK     = <boolean>               [False]\n\
      isBcast     = <boolean>               [False]\n\
      isCustodial = <boolean>               [True]\n\
   \n"
Python documentation string for the Bundle class.

Definition at line 408 of file PydtnBundle.cc.

PyMemberDef PydtnBundle_members[] [static]

Initial value:

{
   {0} 
}
A struct defining the members of PydtnBundle visible in Python through pydtn.Bundle.

Definition at line 474 of file PydtnBundle.cc.

PyTypeObject PydtnBundleType [static]

A struct defining PydtnBundle as pydtn.Bundle in Python, and the mappings between the standard Python object methods and our implementations.

Definition at line 482 of file PydtnBundle.cc.

char dtn_config_doc[] [static]

Initial value:

 "Global DTN parameter configuration.\n\
   \n\
   Valid configurations are:\n\
   \n\
   pydtn.config('capacity',<size>)\n\
      Set the default volatile storage capacity to <size>.\n\
      (real-valued, in kibibytes)\n\
   \n\
   pydtn.config('stable_store',<size>)\n\
      Set the default persistent storage capacity to <size>.\n\
      (real-valued, in kibibytes)\n\
   \n\
   pydtn.config('bandwidth',<bw>)\n\
      Set the default link bandwidth to <bw>.\n\
      (real-valued, in Mbps).\n\
   \n\
   pydtn.config('latency',<t>)\n\
      Set the default link latency to <t>, given as [s,us]\n\
      (seconds, microseconds).\n\
   \n\
   pydtn.config('bundle_lifetime',<t>)\n\
      Set the default bundle lifetime to <t>, given as [s,us]\n\
      (seconds, microseconds).\n\
   \n\
   pydtn.config('resend_period',<t>)\n\
      Set the default bundle resending period to <t>, given as [s,us]\n\
      (seconds, microseconds).\n"
Python docstring for dtn_config().

This provides detailed documentation on calling pydtn.config() from within simlpy.

Definition at line 69 of file python_init.cc.

char dtn_trace_doc[] [static]

Initial value:

 "Enable global tracing.\n\
   \n\
   This function takes no arguments.\n\
   \n\
   In general, this shouldn't be needed, as an individual tracing\n\
   module should be able to initialize global tracing.\n"
Python docstring for dtn_trace().

This provides detailed documentation on calling pydtn.trace() from within simlpy.

Definition at line 183 of file python_init.cc.

char dtn_stats_doc[] [static]

Initial value:

 "Enable global statistics aggregation.\n\
   \n\
   Statistics aggregation is done as bundles move through the system.\n\
   Information is periodically displayed summarizing data collected\n\
   since the last dump and data collected since the beginning of the\n\
   simulation.\n\
   \n\
   In addition, at the end of the simulation a final summary will be\n\
   displayed.\n\
   \n\
   Syntax:\n\
   \n\
   pydtn.stats(<fname>,<period>)\n\
      The parameter <fname> is the name of the file into which the\n\
      data should be dumped, or 'stdout' or 'stderr'.\n\
   \n\
      The parameter <period> is the delay (in microseconds) between\n\
      collections, and is optional.  The default value is 10000 (10ms).\n\
      Alternately, a period of 0 will inhibit periodic statistical\n\
      dumps, and only the end-of-simulation display will occur.\n"
Python docstring for dtn_stats().

This provides detailed documentation on calling pydtn.stats() from within simlpy.

Definition at line 211 of file python_init.cc.

PyMethodDef ExampleMethods[] [static]

Initial value:

{
   {"config",dtn_config,METH_VARARGS,dtn_config_doc},
   {"trace",dtn_trace,METH_VARARGS,dtn_trace_doc},
   {"stats",dtn_stats,METH_VARARGS,dtn_stats_doc},
   {0,0,0,0} 
}
A struct defining the mappings between Python function calls and their implementations.

Definition at line 294 of file python_init.cc.


Generated on Mon Mar 24 11:15:46 2008 for Pydtn Simulator by  doxygen 1.5.4