MADARA  3.1.8
TransportSettings.h File Reference
#include <string>
#include <sstream>
#include <vector>
#include <map>
#include <ostream>
#include "ace/Thread_Mutex.h"
#include "ace/Recursive_Thread_Mutex.h"
#include "ace/Condition_T.h"
#include "ace/Guard_T.h"
#include "ace/High_Res_Timer.h"
#include "madara/LockType.h"
#include "madara/knowledge/KnowledgeRecord.h"
#include "madara/knowledge/ThreadSafeContext.h"
#include "madara/expression/ExpressionTree.h"
#include "madara/expression/Interpreter.h"
#include "madara/MADARA_export.h"
#include "madara/transport/Fragmentation.h"
#include "TransportSettings.inl"
Include dependency graph for TransportSettings.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  madara::transport::TransportSettings
 Holds basic transport settings. More...
 

Namespaces

 madara
 Copyright (c) 2015 Carnegie Mellon University.
 
 madara::transport
 Provides the network transport layer for knowledge bases to communicate within and across agents.
 

Macros

#define DEFAULT_DOMAIN   "KaRL"
 Default knowledge domain. More...
 
#define DEFAULT_ID   0
 Default id in group. More...
 
#define DEFAULT_PROCESSES   1
 Default number of processes in group. More...
 
#define MAXIMUM_RESEND_ATTEMPTS   10
 Default number of processes in group. More...
 

Typedefs

typedef ACE_High_Res_Timer madara::transport::Timer
 
typedef std::vector< Timer > madara::transport::Timers
 

Enumerations

enum  madara::transport::Messages {
  madara::transport::ASSIGN = 0, madara::transport::OPERATION = 1, madara::transport::MULTIASSIGN = 2, madara::transport::REGISTER = 3,
  madara::transport::LATENCY = 10, madara::transport::LATENCY_AGGREGATE = 11, madara::transport::LATENCY_SUMMATION = 12, madara::transport::VOTE = 20
}
 
enum  madara::transport::Reliabilities { madara::transport::BEST_EFFORT = 0, madara::transport::RELIABLE = 1 }
 
enum  madara::transport::Types {
  madara::transport::NO_TRANSPORT = 0, madara::transport::SPLICE = 1, madara::transport::NDDS = 2, madara::transport::TCP = 3,
  madara::transport::UDP = 4, madara::transport::MULTICAST = 5, madara::transport::BROADCAST = 6, madara::transport::REGISTRY_SERVER = 7,
  madara::transport::REGISTRY_CLIENT = 8, madara::transport::ZMQ = 9
}
 

Functions

std::string madara::transport::type_name (const TransportSettings &settings)
 

Detailed Description

Author
James Edmondson jedmo.nosp@m.ndso.nosp@m.n@gma.nosp@m.il.c.nosp@m.om

This file contains the transport::Base class, which provides an extensible transport layer for sending knowledge updates in KaRL. To support knowledge updates, only the send_multiassignment method is currently required to be extended as the set, evaluate, and wait methods all call send_multiassignment. For example transport,

See also
madara::transport::MulticastTransport.

Definition in file TransportSettings.h.

Macro Definition Documentation

#define DEFAULT_DOMAIN   "KaRL"

Default knowledge domain.

Definition at line 102 of file TransportSettings.h.

#define DEFAULT_ID   0

Default id in group.

Definition at line 122 of file TransportSettings.h.

#define DEFAULT_PROCESSES   1

Default number of processes in group.

Definition at line 127 of file TransportSettings.h.

#define MAXIMUM_RESEND_ATTEMPTS   10

Default number of processes in group.

Definition at line 132 of file TransportSettings.h.