Classes | |
class | Aggregator |
An base class for all database aggregate operations. More... | |
class | AggrMin |
Implements the database aggregate operation MIN. More... | |
class | AggrMax |
Implements the database aggregate operation MAX. More... | |
class | AggWrap |
A base class for all aggregate-wrap implementation. More... | |
class | AggWrapCount |
Aggregate wrap implementation for the count aggregate. More... | |
class | AggWrapMinMax |
A single aggregate wrap for both Min/Max. We use the template method pattern to let the base classes implement the. More... | |
class | AggWrapMin |
Aggregate wrap for the min aggregate operation. More... | |
class | AggWrapMax |
Aggregate wrap for the max aggregate operation. More... | |
class | AppDecoratorTrigger |
A generic trigger defined for emitting decorator- frontend events for visualization. More... | |
class | AppNodeStateTrigger |
A trigger to record a node specific event. More... | |
class | AppLinkStateTrigger |
A trigger to record a link specific event. More... | |
class | AppTupleStateTrigger |
A trigger to record a tuple event at a node. More... | |
class | Assignor |
Implements the database assignment operation. An assignor assigns an attribute with a given name to a tuple by evaluating an. More... | |
class | BlowfishEncryptionManager |
A blowfish based encryption manager implementation. More... | |
class | Database |
A RapidNet database. More... | |
class | EvpKey |
Encapsulates EVP_KEY* type from OpenSSL for automatic memory management and load utilities. More... | |
class | EvpKeyCache |
A read-only cache for loading EvpKey objects. More... | |
class | Expression |
Abstract base class for all expressions. More... | |
class | Operation |
An operation over one (unary) or two (binary) operands which are in turn expressions. More... | |
class | ValueExpr |
A value expression. Evaluates to the value itself. More... | |
class | VarExpr |
A variable expression. The variable name is the name of a tuple attribute. It evaluates to the value of that attribute in the given tuple. More... | |
class | RangeExpr |
Range expression. It is one of the 4 types as defined by Interval. More... | |
class | FunctionExpr |
Function call as an expression. This class is merely a a marker interface for all functions, it does not provide any functionality. More... | |
class | HeapRelation |
A special type of relation that is similar to a min-heap or a max-heap. More... | |
class | PkiAuthenticationManager |
A PKI based authentication manager implementation. More... | |
class | RapidNetApplicationBase |
A base class for all RapidNet applications. More... | |
class | AppTrigger |
An application specific trigger. More... | |
class | InsertTrigger |
A trigger that is invoked when a tuple is inserted. More... | |
class | DeleteTrigger |
A trigger that is invoked when a tuple is deleted. More... | |
class | RefreshTrigger |
A trigger that is invoked when a tuple is refreshed. More... | |
class | RapidNetApplicationHelper |
A base helper for all RapidNet applications. More... | |
class | RapidNetDecoratorFrontend |
A RapidNet extension to the decorator frontend used for visualization. More... | |
class | FAppend |
A RapidNet function that returns a list with the given value(s) appended in it. More... | |
class | FConcat |
A RapidNet function that concatenates two list values. More... | |
class | FMember |
A RapidNet function that tests if a given value is the member of a list. More... | |
class | FNow |
A RapidNet function that returns the current time as a string. More... | |
class | FDiffTime |
A RadidNet function that returns the difference of two time strings (in seconds) as an integer. More... | |
class | FHslsTtl |
A RadidNet function that returns the TTL or the number of hops that a triggered update should propogate in triggered HSLS implementation. More... | |
class | FSize |
A RapidNet function that returns the size of a list. More... | |
class | FLast |
A RapidNet function that returns the last element of a list. More... | |
class | FRemoveLast |
A RapidNet function that removes and returns last element of a list. More... | |
class | FTypeOf |
A RapidNet function that returns the string representation of the type of the given expression. More... | |
class | FRand |
A RapidNet function that returns a random number as a string. More... | |
class | FSha1 |
A RadpidNet function that returns the SHA1 hash of the string representation of the given value. More... | |
class | FSvIn |
A RapidNet function that tests whether a given ID (string) is hashed in a summary vector. More... | |
class | FSvAndNot |
A RapidNet function that computes the andNot result of two summary vectors: (SV_1 & (~ SV_2)). More... | |
class | FSvAppend |
A RapidNet function that hashes a given ID (string) into a new summary vector. More... | |
class | FSvRemove |
FA RapidNet function that hashes a given ID (string) out from a new summary vector. More... | |
class | RapidNetHeader |
RapidNet extension of. More... | |
class | RelationBase |
A base class for relation objects. A relation has a name and is a collection of. More... | |
class | Relation |
A database relation with key attributes defined. More... | |
class | Selector |
Implements the database select operation. It evaluates an expression against the given tuple and returns true if the tuple should be selected, false otherwise. More... | |
class | SendlogAuthenticationManager |
RapidNet applications delegate the authentication features to the SendlogAuthenticationManager. RapidNet applications written in SeNDlog (and not NDlog) require authentication capabilities. This object represents an interface to the authentication operations "sign" and "verify". Concrete implementations of this interface can be associated to the RapidNet applications at the time of initialization. More... | |
class | SendlogEncryptionManager |
RapidNet applications delegate the encryption features to the SendlogEncryptionManager. RapidNet applications written in SeNDlog (and not NDlog) require encryption capabilities. This object represents an interface to the encryption operations "encrypt" and "decrypt". Concrete implementations of this interface can be associated to the RapidNet applications at the time of initialization. More... | |
class | TempRelation |
A relation that is implemented as a list of tuples. More... | |
class | Trigger |
A callback function object that serves as a database trigger. More... | |
class | TriggerList |
A list of triggers. More... | |
class | TupleAttribute |
Represents an attribute of a tuple. An attribute is a name-value pair. More... | |
class | Tuple |
A RapidNet tuple. A RapidNet tuple is a collection of. More... | |
class | BoolValue |
A value type for booleans. More... | |
class | ByteArrayValue |
A value type for uint8_t array (byte buffer). More... | |
class | IdValue |
A value type for 160-bit SHA1 hash values used by chord. More... | |
class | Int32Value |
RapidNet value type for 32-bit integers. More... | |
class | Ipv4Value |
A value type for IP v4 addresses. More... | |
class | ListValue |
A value type that is a list of RapidNet value types. More... | |
class | NilValue |
A value type that represents a null value. More... | |
class | RealValue |
A value type for a floating point value. More... | |
class | StrValue |
A value type for strings. More... | |
class | SvValue |
A value type for summary vector. This value type is used by the Epidemic protocol for delay tolerant networks. More... | |
class | Value |
The base for all RapidNet value types. More... | |
Enumerations | |
enum | Operator |
Enumeration of all supported operators. | |
enum | ValueTypeId |
An enumeration of all the value types defined in RapidNet. | |
Functions | |
string | OpString (Operator op) |
Returns a string representation for the operator. | |
ApplicationContainer | InitRapidNetApps (int numNodes, Ptr< RapidNetApplicationHelper > appHelper, Ipv4Address base="10.1.1.0", string pcapLogFileName="test") |
Initializes RapidNet applications using the given helper on given the given number of nodes and sets addresses with the given base. | |
void | PrintRelation (ApplicationContainer apps, string relnName, ostream &os=cout) |
Prints the given relation for all applications in the container. | |
NetDeviceContainer | InstallWifi (NodeContainer nodes, bool enablePcap, string pcapFilename) |
Installs Wifi NetDevices on the the nodes and returns the container. | |
NetDeviceContainer | InstallCsma (NodeContainer nodes, bool enablePcap, string pcapFilename) |
Installs Ethernet NetDevices on the the nodes and returns the container. | |
void | InstallIpv4 (NodeContainer nodes, NetDeviceContainer netDevices, Ipv4Address network="192.168.1.0", Ipv4Mask mask=DEFAULT_MASK, Ipv4Address base="0.0.0.1") |
Installs the IP stack on the nodes and assigns IP addresses. | |
void | InstallMobility (NodeContainer nodes, string xpos, string ypos, double xbound, double ybound, string modelName, const AttributeValue &speed=EmptyAttributeValue(), const AttributeValue &distance=EmptyAttributeValue()) |
Installs the mobility model to the nodes and positions them. | |
ofstream * | InstallDecorator (ApplicationContainer &apps, string dir, double xbound, double ybound) |
Installs the decorator frontend to all applications. | |
ofstream * | InstallDecoratorEmu (ApplicationContainer &apps, string dir, string ipaddr) |
Installs the decorator frontend to all applications for emulation. | |
void | PrintRelations (ApplicationContainer &apps, string relations, string streamName=CLOG, int printPeriod=0, int numTimes=2) |
For printing relations, printPeriod: Period for printing, numTimes: Number of times to execute. | |
void | ImportAppTable (ApplicationContainer &apps, ifstream *apptableStream, double apptablePeriod, double duration) |
Imports app-table into all nodes for application level filtering. This function is used for emulation. | |
void | InstallDsrDecoratorTriggers (ApplicationContainer &apps) |
Installs frontend-decorator triggers specific to the DSR protocol. | |
void | InstallEpidemicDecoratorTriggers (ApplicationContainer &apps) |
Installs frontend-decorator triggers specific to the Epidemic protocol. | |
void | InstallLSUDecoratorTriggers (ApplicationContainer &apps) |
Installs frontend-decorator triggers specific to the link-state and HSLS protocols. | |
void | ScheduleDsrQueries (ApplicationContainer &apps, int count, double duration) |
Schedules DSR route queries at periodic intervals. | |
void | ScheduleEpidemicMessages (ApplicationContainer &apps, int count, double duration) |
Schedules Epidemic messages at periodic intervals. | |
void | SetMaxJitter (ApplicationContainer &apps, uint32_t maxJitter) |
Utility method to set maximum jitter value on all applications in the given ApplicationContainer. | |
void | InitChordApps (ApplicationContainer &apps) |
Initializes the chord applications. | |
void | InstallChordDecoratorTriggers (ApplicationContainer &apps) |
Installs frontend-decorator triggers specific to the link-state and HSLS protocols. | |
void | InstallDecoratorTriggers (string appName, ApplicationContainer &apps) |
Install application specific decorator triggers. | |
void | ScheduleEvents (string appName, ApplicationContainer &apps, int queryNum, double duration) |
Schedule application specific network events. | |
void | StartApps (string appName, ApplicationContainer &apps) |
Initialize and start all applications. | |
bool | HasTimedout (Time timestamp, Time ttl, Time now) |
Returns true if the tuple with given time-stamp and TTL has timed out. | |
string | GetInsertStatusAsString (int statusCode) |
A string representation for the given insert status code. | |
Ptr< Tuple > | tuple (string name) |
Creates a new tuple with given name and no attributes. | |
Ptr< Tuple > | tuple (string name, list< Ptr< TupleAttribute > > attributes) |
Creates a new tuple with given name and the attributes from the given list added to it. | |
Ptr< Tuple > | tuple (string name, Ptr< TupleAttribute > attr1) |
Creates a new tuple with given name and adds the given attribute(s) to it. | |
Ptr< Tuple > | tuple (string name, Ptr< TupleAttribute > attr1, Ptr< TupleAttribute > attr2) |
Creates a new tuple with given name and adds the given attribute(s) to it. | |
Ptr< Tuple > | tuple (string name, Ptr< TupleAttribute > attr1, Ptr< TupleAttribute > attr2, Ptr< TupleAttribute > attr3) |
Creates a new tuple with given name and adds the given attribute(s) to it. | |
Ptr< Tuple > | tuple (string name, Ptr< TupleAttribute > attr1, Ptr< TupleAttribute > attr2, Ptr< TupleAttribute > attr3, Ptr< TupleAttribute > attr4) |
Creates a new tuple with given name and adds the given attribute(s) to it. | |
Ptr< Tuple > | tuple (string name, Ptr< TupleAttribute > attr1, Ptr< TupleAttribute > attr2, Ptr< TupleAttribute > attr3, Ptr< TupleAttribute > attr4, Ptr< TupleAttribute > attr5) |
Creates a new tuple with given name and adds the given attribute(s) to it. | |
Ptr< Tuple > | tuple (string name, Ptr< TupleAttribute > attr1, Ptr< TupleAttribute > attr2, Ptr< TupleAttribute > attr3, Ptr< TupleAttribute > attr4, Ptr< TupleAttribute > attr5, Ptr< TupleAttribute > attr6) |
Creates a new tuple with given name and adds the given attribute(s) to it. | |
template<class T > | |
list< T > | MakeList (T t1) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2, T t3) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2, T t3, T t4) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2, T t3, T t4, T t5) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2, T t3, T t4, T t5, T t6) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2, T t3, T t4, T t5, T t6, T t7) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2, T t3, T t4, T t5, T t6, T t7, T t8) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2, T t3, T t4, T t5, T t6, T t7, T t8, T t9) |
Creates a list with object(s) of given type inserted. | |
template<class T > | |
list< T > | MakeList (T t1, T t2, T t3, T t4, T t5, T t6, T t7, T t8, T t9, T t10) |
Creates a list with object(s) of given type inserted. | |
string | GetSHA1Digest (string message) |
A utility C++ wrapper over openssl's SHA1 function. | |
Ptr< Tuple > | RemoveAllRapidNetAttributes (Ptr< Tuple > tuple) |
Utility method to strip a tuple of all RapidNet specific indicator attributes (names that begin with "rn-") and returns them as a separate tuple. This method is used before signing or encrypting tuples. | |
Ptr< ByteArrayValue > | SerializeTupleToByteArray (Ptr< Tuple > tuple) |
Utility method to serialize the contents of a tuple into a byte array using standard serialize primitives of constituent attributes. | |
Ptr< Tuple > | DeserializeTupleFromByteArray (Ptr< ByteArrayValue > byteArray) |
Utility method to deserialize a byte array value returned by. | |
string | GetTypeName (ValueTypeId type) |
Returns the string name of the value type of the given ValueTypeId enumeration. | |
Ptr< Value > | NewValueForType (ValueTypeId type) |
Creates and returns a new object for the given ValueTypeId enumeration with the default value as specified by the value type class. |
Utility method to deserialize a byte array value returned by.
bool ns3::rapidnet::HasTimedout | ( | Time | timestamp, | |
Time | ttl, | |||
Time | now | |||
) |
Returns true if the tuple with given time-stamp and TTL has timed out.
timestamp | Timestamp on the tuple | |
ttl | The TTL defined for the corresponding relation. | |
now | The current time. |
void ns3::rapidnet::ImportAppTable | ( | ApplicationContainer & | apps, | |
ifstream * | apptableStream, | |||
double | apptablePeriod, | |||
double | duration | |||
) |
Imports app-table into all nodes for application level filtering. This function is used for emulation.
The topology string should have all the necessary IP address pairs. They are just inserted as it is.
void ns3::rapidnet::ScheduleDsrQueries | ( | ApplicationContainer & | apps, | |
int | count, | |||
double | duration | |||
) |
Schedules DSR route queries at periodic intervals.
apps | The collection of applications. | |
count | The number of queries to be scheduled. | |
duration | The period between each query. |
void ns3::rapidnet::ScheduleEpidemicMessages | ( | ApplicationContainer & | apps, | |
int | count, | |||
double | duration | |||
) |
Schedules Epidemic messages at periodic intervals.
apps | The collection of applications. | |
count | The number of queries to be scheduled. | |
duration | The period between each query. |