47 #ifndef _MIRA_REMOTECONNECTION_H_ 48 #define _MIRA_REMOTECONNECTION_H_ 51 #include <boost/array.hpp> 52 #include <boost/make_shared.hpp> 91 template<
typename Reflector>
94 r.member(
"Address",
address,
"");
95 r.roproperty(
"Address",
address,
"The address IP:port");
97 r.member(
"KeepConnected",
keep,
"",
true);
98 r.roproperty(
"KeepConnected",
keep,
"Whether to reconnect after a lost connection");
100 r.member(
"ForcePTP",
forcePTP,
"",
false);
101 r.roproperty(
"ForcePTP",
forcePTP,
"Whether to force PTP time sync for this connection");
104 BinaryBufferSerializer::getSerializerFormatVersion());
106 "Binary format version used by the remote framework");
110 "Monitor-only connections do not publish local channels, " 111 "services and authorities to remote framework");
116 "Last time tried to establish connection (UTC)");
120 boost::tuple<std::string, uint16>
getHostPort()
const;
153 template <
typename SerializerTag>
174 template<
typename Reflector>
177 r.property(
"CompensationInterval",
180 "Interval to reach target offset");
181 r.roproperty(
"TargetOffset",
mTargetOffset,
"Target offset");
182 r.roproperty(
"StartOffset",
mStartOffset,
"Start offset");
183 r.roproperty(
"StartTime",
mStartTime,
"Time when start offset was valid");
184 r.roproperty(
"CurrentOffset",
186 "Current offset (interpolated between start and target offset)");
375 template<
typename Reflector>
378 r.roproperty(
"RemoteFrameworkName",
frameworkID,
"ID/Name of the remote framework");
379 r.roproperty(
"RemoteProtocolVersion",
380 getter<std::string>( [&]()->std::string {
383 "Protocol version of the remote framework");
384 r.roproperty(
"Connected",
synchronizedTime,
"Time when the connection was established");
386 "Synchronization of clocks via PTP enabled?");
388 "Ping timeout enabled?");
389 r.property(
"TimeSynch",
clockOffset,
"PTP time synchronization");
399 virtual void start();
409 void onConnect(
bool enablePTPTimeSync,
bool enablePingTimeout);
501 template <
typename BufferSequence>
502 void write(
const BufferSequence& buffers)
512 catch (boost::system::system_error& e)
595 boost::array<boost::asio::const_buffer, 1> buffers =
607 template <
typename Arg,
typename... Args>
612 writeArgsToStream(os, std::forward<Arg>(arg), std::forward<Args>(args)...);
621 template <
typename BufferType>
624 boost::array<boost::asio::const_buffer, 2> buffers =
627 boost::asio::buffer(buffer.data(), buffer.size())
637 template <
typename DataType>
640 boost::array<boost::asio::const_buffer, 2> buffers =
643 boost::asio::buffer((
void*)&data,
sizeof(DataType))
687 bool isLocal()
const;
691 template <
typename Arg,
typename... Args>
694 stream << std::forward<Arg>(arg);
695 writeArgsToStream(stream, std::forward<Args>(args)...);
798 typedef std::pair<FrameworkMessageType, Buffer<uint8>>
RPCMessage;
806 template <u
int8 BinaryFormatVersion>
842 boost::shared_ptr<BinarySerializer> createBinarySerializer(
Buffer<uint8>* buffer)
844 return boost::make_shared<BinarySerializer>(buffer);
862 template<
typename Reflector>
865 static const std::string incoming =
"Incoming";
866 r.roproperty(
"ConnectDirection", incoming,
"Incoming or outgoing connection?");
867 r.roproperty(
"Address",
address.
address,
"Origin address of the connection");
872 virtual void start();
908 template<
typename Reflector>
911 static const std::string outgoing =
"Outgoing";
912 r.roproperty(
"ConnectDirection", outgoing,
"Incoming or outgoing connection?");
913 r.roproperty(
"ConnectDetails",
address,
"Active connect details");
918 virtual void start();
925 virtual void onWriteError(boost::system::system_error& e);
930 boost::asio::ip::tcp::resolver::iterator iterator);
941 template <u
int8 BinaryFormatVersion>
ConcreteRemoteConnection()
Constructs a remote connection that uses its own io service.
Definition: RemoteConnection.h:811
Information and settings for a known remote framework.
Definition: RemoteConnection.h:80
Duration mTargetOffset
Definition: RemoteConnection.h:229
void handleConnect(const boost::system::error_code &error, boost::asio::ip::tcp::resolver::iterator iterator)
virtual void publishChannels(const ChannelTypeMap &channels)
Notifies the connected framework that we have at least one publisher for each of the channels in the ...
ConcreteRemoteOutgoingConnection(const KnownFramework &address)
Definition: RemoteConnection.h:946
uint32 remoteVersion
The protocol version of the connected framework.
Definition: RemoteConnection.h:671
QoS management informations.
boost::thread mCheckPingTimeoutThread
Definition: RemoteConnection.h:762
std::unordered_map< std::string, ServiceLevel > mPendingChannelUpdates
Definition: RemoteConnection.h:802
std::map< std::string, boost::shared_ptr< RemoteAuthority > > mRemoteAuthorities
Definition: RemoteConnection.h:796
Definition: BinarySerializer.h:324
void setConnection(RemoteConnection *iConnection)
Set the connection pointer. Used to reset the connection on disconnect.
bool hasPingTimeout() const
Check if the connection incoming ping's are still alive.
IOService mService
Definition: RemoteConnection.h:750
Definition: RemoteConnection.h:772
Type trait that indicates whether a type should be serialized "transparently", i.e.
Definition: IsTransparentSerializable.h:81
Duration mStartOffset
Definition: RemoteConnection.h:230
std::list< RPCMessage > mOutgoingRPCMessages
Definition: RemoteConnection.h:799
void receivedPTPDelayRequest(uint64 timestamp)
boost::thread mSendChannelUpdatesThread
Definition: RemoteConnection.h:763
Time mPTPDelayLocal
Definition: RemoteConnection.h:782
virtual void sendData(ChannelRead< void > value, ServiceLevel &serviceLevel)
boost::asio::ip::tcp::endpoint & getEndpoint()
Returns a reference to the endpoint of the remote peer.
Definition: RemoteConnection.h:875
DispatcherThread::TimerPtr TimerPtr
Definition: DispatcherThread.h:525
void queueRPCMessage(FrameworkMessageType msg, Buffer< uint8 > &&answer)
Queue an outgoing RPC request or RPC response to be transmitted in a separate thread.
void receivedMigrationSinkSuccessMsg()
Definition: RemoteConnection.h:807
virtual void start()
Implementation of RemoteConnection.
bool isPTPSyncEnabled()
Is synchronization of clocks via PTP enabled?
Definition: RemoteConnection.h:412
ServiceLevel by channel name.
Definition: ServiceLevel.h:102
RPCRemoteRequestHandler(RemoteConnection *iConnection)
Constructor taking the connection pointer.
Definition: RemoteConnection.h:336
void setTargetOffset(const Duration &target, const Time &ts=Time::now())
std::string mMigrationNS
Definition: RemoteConnection.h:790
boost::mutex mConnectionMutex
Definition: RemoteConnection.h:352
void receivedSubscribeChannelRequest()
void syncTime()
Time synchronization between frameworks.
StringSet publishedServices
List of services of the connected framework.
Definition: RemoteConnection.h:675
void receivedMigrationFinishedMsg()
ConcreteRemoteConnection(boost::asio::io_service &service)
Constructs a remote connection that uses a given io service.
Definition: RemoteConnection.h:814
Handler that must be implemented by the remote module to send RPC responses to a remote server which ...
Definition: RPCManager.h:133
int mCompensationInterval
Definition: RemoteConnection.h:228
RPCRemoteFinishHandler(RemoteConnection *iConnection)
Constructor taking the connection pointer.
Definition: RemoteConnection.h:305
Connection class for incoming connections.
Definition: RemoteConnection.h:853
Descriptive informations about an authority.
bool isValid() const
Checks if this duration is invalid.
Definition: Time.h:255
void sendRPCMessagesThread()
Duration queryOffset() const
Definition: RemoteConnection.h:200
std::unique_ptr< Authority > authority
Our authority used for subscribing to data.
Definition: RemoteConnection.h:672
specialize cv::DataType for our ImgPixel and inherit from cv::DataType<Vec>
Definition: IOService.h:67
void checkPingTimeoutThread()
virtual void unpublishAuthorities(const AuthorityDescriptions &authorities)=0
Notifies the connected framework that the authorities in the authorities map do not longer exist in o...
Buffer< uint8 > mMessage
Definition: RemoteConnection.h:767
virtual void start()
Starts the connection. Can be implemented in derived classes.
TimeOffsetCompensation & operator=(TimeOffsetCompensation other)
Definition: RemoteConnection.h:205
UUID getRemoteID() const
Definition: RemoteConnection.h:519
RPCHandler for sending a rpc call to the server side.
Definition: RemoteConnection.h:332
boost::shared_ptr< RPCRemoteRequestHandler > mRPCRequestHandler
Definition: RemoteConnection.h:795
bool isValid() const
Returns true if this contains a valid time.
Definition: Time.h:578
Duration getCompensationInterval() const
std::set< std::string > MetaSet
Definition: RemoteConnection.h:290
virtual int addBinaryFormatVersion(Buffer< uint8 > &data)
boost::mutex mConnectionMutex
Definition: RemoteConnection.h:321
void valueChanged(ChannelRead< void > value, ServiceLevel &serviceLevel)
Channel callback method that gets registered on each channel the connected framework subscribes...
Time synchronizedTime
Time when the connection was fully established (e.g. PTP synchronized)
Definition: RemoteConnection.h:677
void receivedUnpublishAuthorityMsg()
#define MIRA_REFLECT_BASE(reflector, BaseClass)
Macro that can be used to reflect the base class easily.
Definition: ReflectorInterface.h:912
Time mPTPDelayRemote
Definition: RemoteConnection.h:783
virtual void publishServices(const StringSet &services)=0
Notifies the connected framework that the services in the services set exist in our framework...
RemoteConnection * mConnection
Definition: RemoteConnection.h:322
boost::shared_ptr< MicroUnit > mMigrationUnit
Definition: RemoteConnection.h:789
void receivedPublishChannelMsg()
Definition: RemoteConnection.h:770
Setter< T > setter(void(*f)(const T &))
Creates a Setter for global or static class methods taking the argument by const reference.
Definition: GetterSetter.h:443
std::map< std::string, Typename > ChannelTypeMap
Definition: RemoteConnection.h:281
Time mPTPSyncRemote
Definition: RemoteConnection.h:781
Connection class for outgoing connections.
Definition: RemoteConnection.h:901
std::string frameworkID
The ID/Name of the connected framework.
Definition: RemoteConnection.h:670
void sendConnectDenied(const std::string &msg)
virtual void publishAuthorities(const AuthorityDescriptions &authorities)=0
Notifies the connected framework that the authorities in the authorities map exist in our framework...
boost::mutex mWriteMutex
Definition: RemoteConnection.h:755
virtual void unpublishServices(const StringSet &services)
Notifies the connected framework that the services in the services set do not longer exist in our fra...
AuthState mAuthState
Definition: RemoteConnection.h:776
virtual void unpublishAuthorities(const AuthorityDescriptions &authorities)
Notifies the connected framework that the authorities in the authorities map do not longer exist in o...
void receivedMigrationSinkFailureMsg()
RemoteConnection * mConnection
Definition: RemoteConnection.h:353
void receivedUnsubscribeChannelRequest(const std::string &channelID)
std::string getGlobalID() const
Definition: RemoteConnection.h:524
boost::mutex mChannelUpdatesMutex
Definition: RemoteConnection.h:803
virtual void receivedPublishServiceMsg()
TimeOffsetCompensation & operator=(const Duration &target)
Definition: RemoteConnection.h:215
An object that allows read access to data of a channel.
Definition: ChannelReadWrite.h:440
std::string mHostName
Definition: RemoteConnection.h:936
void parseMessage()
Parses an incoming message (stored in mMessage) and calls the respective receivedXXX method...
virtual void receivedRPCResponseMsg()=0
boost::mutex mMutex
Definition: RemoteConnection.h:233
void setConnection(RemoteConnection *iConnection)
Set the connection pointer. Used to reset the connection on disconnect.
boost::asio::ip::tcp::endpoint mPeerEndpoint
endpoint of the remote peer
Definition: RemoteConnection.h:893
void receivedChannelMetaMsg()
Wrapper class for boost::posix_time::ptime for adding more functionality to it.
Definition: Time.h:416
#define MIRA_ABSTRACT_OBJECT(classIdentifier)
Use this MACRO instead of MIRA_OBJECT to declare the class as abstract.
Definition: FactoryMacros.h:235
std::set< std::string > StringSet
Definition: RemoteConnection.h:282
void setAddress(const KnownFramework &addr)
Definition: RemoteConnection.h:544
void sendChannelUpdatesThread()
void migrateUnit(const std::string &id)
Send a request to the connected framework to transfer ownership of a unit to this framework...
friend class ClassFactoryDefaultConstClassBuilder
Definition: RemoteConnection.h:949
virtual void onDisconnect()
Implementation of RemoteConnection.
virtual void publishServicesFiltered(const StringSet &services)
virtual void unpublishServices(const StringSet &services)=0
Notifies the connected framework that the services in the services set do not longer exist in our fra...
void setAutoReconnect(bool autoReconnect)
Definition: RemoteConnection.h:549
Marker for indicating parameters that should be ignored if they are missing in the config file...
Definition: IgnoreMissing.h:73
Definition: RemoteConnection.h:942
boost::thread mSendRPCMessagesThread
Definition: RemoteConnection.h:760
void receivedUnpublishChannelMsg()
MIRA_BASE_EXPORT void write(const Value &value, std::ostream &ioStream, bool formatted=false, int precision=-1)
Writes a json::Value into a given stream using the JSON format.
Commonly used exception classes.
void writeMessageFromData(FrameworkMessageType msg, const DataType &data)
Writes a message to the other framework.
Definition: RemoteConnection.h:638
TimerPtr mSyncTimeTimer
Definition: RemoteConnection.h:758
void updateOutgoingStats(std::size_t size)
boost::shared_ptr< RPCRemoteFinishHandler > mRPCFinishHandler
Definition: RemoteConnection.h:794
virtual void onWriteError(boost::system::system_error &e)
Implementation of RemoteConnection.
virtual void publishAuthorities(const AuthorityDescriptions &authorities)
Notifies the connected framework that the authorities in the authorities map exist in our framework...
RemoteIncomingConnection()
Message types exchanged between remote frameworks.
const std::string & getFrameworkID() const
Definition: RemoteConnection.h:534
#define MIRA_FRAMEWORK_EXPORT
Definition: FrameworkExports.h:61
void writeMessage(FrameworkMessageType msg, Arg &&arg, Args &&... args)
Writes a message to the other framework.
Definition: RemoteConnection.h:608
void write(const BufferSequence &buffers)
Send data in the buffers to the connected framework.
Definition: RemoteConnection.h:502
sec_type seconds() const
Returns normalized number of seconds (0..59)
Definition: Time.h:278
Use this class to represent time durations.
Definition: Time.h:104
void reflect(Reflector &r)
Definition: RemoteConnection.h:376
void receivedPublishAuthorityMsg()
std::pair< FrameworkMessageType, Buffer< uint8 > > RPCMessage
Definition: RemoteConnection.h:798
void reflect(Reflector &r)
Definition: RemoteConnection.h:863
void receivedPTPDelayResponse(uint64 timestamp)
The object class acts as a generic base class for classes which should be used with the classFactory...
Definition: Object.h:144
boost::asio::ip::tcp::socket & getSocket()
Returns the network socket of this connection.
Definition: RemoteConnection.h:393
ChannelSendMap subscriptions
List of channels the connected framework is subscribed to + what was sent to them.
Definition: RemoteConnection.h:673
KnownFramework()
Definition: RemoteConnection.h:82
bool mPTPOutgoing
Definition: RemoteConnection.h:779
void handleReadMessage(const boost::system::error_code &error)
Authorities act as a facade to the framework.
Definition: Authority.h:94
Getter< T > getter(T(*f)())
Creates a Getter for global or static class methods returning the result by value.
Definition: GetterSetter.h:136
bool isInitialized() const
Definition: RemoteConnection.h:190
ConcreteRemoteOutgoingConnection< 0 > RemoteOutgoingConnectionLegacy
Definition: RemoteConnection.h:953
void handleReadHeader(const boost::system::error_code &error)
ConcreteRemoteOutgoingConnection< 2 > RemoteOutgoingConnection
Definition: RemoteConnection.h:952
bool forcePTP
force PTP time sync
Definition: RemoteConnection.h:132
Definition: RemoteConnection.h:774
uint16 mPort
Definition: RemoteConnection.h:937
void receivedMigrationMsg()
virtual ~ConcreteRemoteConnection()
Destructor.
Definition: RemoteConnection.h:820
virtual void onRPCrequested(Buffer< uint8 > &&request)
Implementation of RPCManager::RemoteRequestHandler Will send request to the framework that will proce...
Time mPingLastReceived
Definition: RemoteConnection.h:787
void reflect(Reflector &r)
Reflect method for serialization.
Definition: RemoteConnection.h:175
void receivedRequestMigrationMsg()
#define MIRA_OBJECT(classIdentifier)
Use this MACRO if you like the factory to automatically extract the class name from the given identif...
Definition: FactoryMacros.h:179
void setAuthority(std::unique_ptr< Authority > auth)
Definition: RemoteConnection.h:529
Framework channel classes.
KnownFramework address
The address of the connected framework.
Definition: RemoteConnection.h:668
AuthState
Definition: RemoteConnection.h:769
TimeOffsetCompensation(const TimeOffsetCompensation &other)
Definition: RemoteConnection.h:161
boost::tuple< std::string, uint16 > getHostPort() const
void handleReadMessage(const boost::system::error_code &error)
RPCHandler for getting notified when an rpc call on server side is finished and the response is ready...
Definition: RemoteConnection.h:301
virtual int addBinaryFormatVersion(Buffer< uint8 > &data)=0
virtual void subscribeChannel(const std::string &channelID, const ServiceLevel &serviceLevel)
Notify the connected remote frameworks that we have a subscriber for the given channel (assuming it h...
bool isPingTimeoutEnabled()
Is ping timeout enabled?
Definition: RemoteConnection.h:418
std::map< std::string, SendData > ChannelSendMap
Definition: RemoteConnection.h:288
Base class of connections between frameworks.
Definition: RemoteConnection.h:276
virtual void start()
Implementation of RemoteConnection.
virtual void onRPCfinished(Buffer< uint8 > &&answer)
Implementation of RPCManager::RemoteFinishHandler Will send answer back to calling framework using th...
virtual void publishServices(const StringSet &services)
Notifies the connected framework that the services in the services set exist in our framework...
boost::mutex mStopMutex
Definition: RemoteConnection.h:756
void receivedPTPFollowUp(uint64 timestamp)
Time mPingLastSend
Definition: RemoteConnection.h:786
#define MIRA_MINOR_VERSION(v)
Calculate the minor version of v.
Definition: FrameworkDefines.h:55
#define MIRA_MAJOR_VERSION(v)
Calculate the major version of v.
Definition: FrameworkDefines.h:53
RemoteOutgoingConnectionBase(const KnownFramework &address)
Contains internal RPCManager class.
void stop()
Close the socket.
bool keep
if true the information is stored in list of frameworks that we try to reconnect to after disconnect ...
Definition: RemoteConnection.h:129
Typedefs and serialization support for uuids.
std::list< AuthorityDescription > AuthorityDescriptions
Definition: RemoteConnection.h:291
virtual void receivedPublishServiceMsg()=0
void receivedWriteChannelMsg()
UUID remoteID
The UUID of the connected framework.
Definition: RemoteConnection.h:669
bool mEnablePingTimeout
Ping timeout enabled for this connection?
Definition: RemoteConnection.h:679
virtual void unpublishServicesFiltered(const StringSet &services)
static Time now() static Time eternity()
Returns the current utc based time.
Definition: Time.h:479
Definition: BinarySerializer.h:257
Definition: RemoteConnection.h:158
void sendPTP()
Sends a PTP command used for time synchronization between frameworks.
uint8 metaVersion
Definition: RemoteConnection.h:285
virtual void onWriteError(boost::system::system_error &e)
Called when writing to the socket failed. Can be implemented in derived classes.
Definition: RemoteConnection.h:563
void receivedUnpublishServiceMsg()
virtual void onDisconnect()
Called in stop() when connection is about to be stopped.
Definition: RemoteConnection.h:560
void unpublishChannel(const std::string &channel)
Notifies the connected framework that we no longer have a publisher for the given channel...
bool checkMessageHeader() const
Returns true, if the message (header) is valid, i.e.
Wrapper class for boost::asio::io_service.
Definition: IOService.h:75
virtual void receivedRPCRequestMsg()
bool hasAuthority(const std::string &id) const
Check if a authority with given full id exists in the connected framework.
bool mStopScheduled
Definition: RemoteConnection.h:938
uint8 binaryFormatVersion
The binary format used by the framework (to enable connecting to legacy framework).
Definition: RemoteConnection.h:138
boost::uuids::uuid UUID
Shorter name for boost uuid.
Definition: UUID.h:66
TimeOffsetCompensation clockOffset
The clock offset between us and the connected framework.
Definition: RemoteConnection.h:680
Time mPTPSyncLocal
Definition: RemoteConnection.h:780
void writeMessageFromBuffer(FrameworkMessageType msg, const BufferType &buffer)
Writes a message to the other framework.
Definition: RemoteConnection.h:622
const KnownFramework & getAddress() const
Definition: RemoteConnection.h:539
boost::condition_variable mRPCMessagesCondition
Definition: RemoteConnection.h:753
bool monitorOnly
Local channels, services and authorities are not published to the remote side if monitor-only is true...
Definition: RemoteConnection.h:144
void synchronizeFrameworks()
Duration offset(const Time &ts) const
void startTimeSync()
Create a timer to frequently call syncTime.
MetaSet sentMetaInformation
Set of type meta information already sent.
Definition: RemoteConnection.h:674
Time mHeaderReceived
Definition: RemoteConnection.h:765
virtual void receivedRPCResponseMsg()
boost::asio::ip::tcp::socket mSocket
Definition: RemoteConnection.h:751
Definition: RemoteConnection.h:284
An authority class that represents a remote authority that is located in a connected framework...
boost::mutex mRPCMessagesMutex
Definition: RemoteConnection.h:800
std::string mMigrationID
Definition: RemoteConnection.h:791
RemoteConnection()
Constructs a remote connection that uses its own io service.
void receivedTypeMetaMsg()
bool isSynchronized() const
synchronizeFrameworks() was executed.
Definition: RemoteConnection.h:438
friend class ClassFactoryDefaultConstClassBuilder
Definition: RemoteConnection.h:860
bool mEnablePTPSync
PTP Sync enabled for this connection?
Definition: RemoteConnection.h:678
void writeMessage(FrameworkMessageType msg)
Writes a message to the other framework.
Definition: RemoteConnection.h:593
Time lastData
Definition: RemoteConnection.h:286
friend void createConcreteRemoteConnectionInstances()
std::string mAuthSignMsg
Definition: RemoteConnection.h:777
void reflect(Reflector &r)
Reflect method for serialization.
Definition: RemoteConnection.h:92
FrameworkMessageType
Remote framework message types.
Definition: FrameworkMessage.h:63
virtual void receivedRPCRequestMsg()=0
bool mStopped
Definition: RemoteConnection.h:792
boost::thread mProcessPingThread
Definition: RemoteConnection.h:761
virtual void onDisconnect()
Implementation of RemoteConnection.
virtual void subscribeChannel(const std::string &channelID, const ServiceLevel &serviceLevel)=0
Notify the connected remote frameworks that we have a subscriber for the given channel (assuming it h...
void ping()
Sends a ping command.
void setCompensationInterval(const Duration &interval)
FrameworkMessageHeader mHeader
Definition: RemoteConnection.h:766
TimeOffsetCompensation(const Duration &compensationInterval=Duration::seconds(10))
Definition: RemoteConnection.h:167
virtual void publishChannels(const ChannelTypeMap &channels)=0
Notifies the connected framework that we have at least one publisher for each of the channels in the ...
void handleReadHeader(const boost::system::error_code &error)
Wrapper for boost::asio::io_service.
std::string address
address in the form of host:port
Definition: RemoteConnection.h:123
Definition: RemoteConnection.h:773
void onConnect(bool enablePTPTimeSync, bool enablePingTimeout)
Called by RemoteModule::onIncomingConnected/onOutgoingConnected.
Connection pool that holds the ownership for RemoteConnections.
Owner of every RemoteConnection.
Definition: RemoteConnectionPool.h:115
void reflect(Reflector &r)
Definition: RemoteConnection.h:909
virtual void sendData(ChannelRead< void > value, ServiceLevel &serviceLevel)
Definition: RemoteConnection.h:730
Class for in-place stream formatting Used for constructs like:
Definition: MakeString.h:63
Definition: RemoteConnection.h:771
Time mStartTime
Definition: RemoteConnection.h:231
Units are basic modules of a complex application.
Definition: MicroUnit.h:69
Time lastConnectionTry
The last time we tried to connect to that address.
Definition: RemoteConnection.h:150
virtual ~RemoteConnection()
Destructor.
Handler that must be implemented by the remote module to send RPC requests to a remote server...
Definition: RPCManager.h:111
Time mLastPTP
Definition: RemoteConnection.h:784