MADARA  3.2.3
Transport.h File Reference
#include <string>
#include <sstream>
#include <vector>
#include <ostream>
#include "madara/utility/ThreadSafeVector.h"
#include "madara/MadaraExport.h"
#include "madara/transport/QoSTransportSettings.h"
#include "ReducedMessageHeader.h"
#include "madara/transport/BandwidthMonitor.h"
#include "madara/transport/PacketScheduler.h"
#include "madara/knowledge/KnowledgeRecord.h"
#include "madara/knowledge/ThreadSafeContext.h"
#include "madara/expression/ExpressionTree.h"
#include "madara/expression/Interpreter.h"
#include "Transport.inl"

Go to the source code of this file.

Classes

class  madara::transport::Base
 Base class from which all transports must be derived. 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.
 

Typedefs

typedef utility::ThreadSafeVector< Base * > madara::transport::Transports
 

Functions

int madara::transport::prep_rebroadcast (knowledge::ThreadSafeContext &context, char *buffer, int64_t &buffer_remaining, const QoSTransportSettings &settings, const char *print_prefix, MessageHeader *header, const knowledge::KnowledgeMap &records, PacketScheduler &packet_scheduler)
 Preps a buffer for rebroadcasting records to other agents on the network. More...
 
int madara::transport::process_received_update (const char *buffer, uint32_t bytes_read, const std::string &id, knowledge::ThreadSafeContext &context, const QoSTransportSettings &settings, BandwidthMonitor &send_monitor, BandwidthMonitor &receive_monitor, knowledge::KnowledgeMap &rebroadcast_records, knowledge::CompiledExpression &on_data_received,const char *print_prefix, const char *remote_host, MessageHeader *&header)
 Processes a received update, updates monitors, fills rebroadcast records according to settings filters, and performs the bulk of the logic required for a receiver thread. More...
 

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 Transport.h.