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)");
376 template<
typename Reflector>
379 r.roproperty(
"RemoteFrameworkName",
frameworkID,
"ID/Name of the remote framework");
380 r.roproperty(
"RemoteProtocolVersion",
381 getter<std::string>( [&]()->std::string {
384 "Protocol version of the remote framework");
385 r.roproperty(
"Connected",
synchronizedTime,
"Time when the connection was established");
387 "Synchronization of clocks via PTP enabled?");
389 "Ping timeout enabled?");
390 r.property(
"TimeSynch",
clockOffset,
"PTP time synchronization");
400 virtual void start();
410 void onConnect(
bool enablePTPTimeSync,
bool enablePingTimeout);
502 template <
typename BufferSequence>
503 void write(
const BufferSequence& buffers)
513 catch (boost::system::system_error& e)
596 boost::array<boost::asio::const_buffer, 1> buffers =
608 template <
typename Arg,
typename... Args>
613 writeArgsToStream(os, std::forward<Arg>(arg), std::forward<Args>(args)...);
622 template <
typename BufferType>
625 boost::array<boost::asio::const_buffer, 2> buffers =
628 boost::asio::buffer(buffer.data(), buffer.size())
638 template <
typename DataType>
641 boost::array<boost::asio::const_buffer, 2> buffers =
644 boost::asio::buffer((
void*)&data,
sizeof(DataType))
688 bool isLocal()
const;
692 template <
typename Arg,
typename... Args>
695 stream << std::forward<Arg>(arg);
696 writeArgsToStream(stream, std::forward<Args>(args)...);
799 typedef std::pair<FrameworkMessageType, Buffer<uint8>>
RPCMessage;
807 template <u
int8 BinaryFormatVersion>
843 boost::shared_ptr<BinarySerializer> createBinarySerializer(
Buffer<uint8>* buffer)
845 return boost::make_shared<BinarySerializer>(buffer);
863 template<
typename Reflector>
866 static const std::string incoming =
"Incoming";
867 r.roproperty(
"ConnectDirection", incoming,
"Incoming or outgoing connection?");
868 r.roproperty(
"Address",
address.
address,
"Origin address of the connection");
873 virtual void start();
909 template<
typename Reflector>
912 static const std::string outgoing =
"Outgoing";
913 r.roproperty(
"ConnectDirection", outgoing,
"Incoming or outgoing connection?");
914 r.roproperty(
"ConnectDetails",
address,
"Active connect details");
919 virtual void start();
926 virtual void onWriteError(boost::system::system_error& e);
931 boost::asio::ip::tcp::resolver::iterator iterator);
942 template <u
int8 BinaryFormatVersion>
ConcreteRemoteConnection()
Constructs a remote connection that uses its own io service.
Definition: RemoteConnection.h:812
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.
Information and settings for a known remote framework.
Definition: RemoteConnection.h:80
Duration mTargetOffset
Definition: RemoteConnection.h:230
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:947
uint32 remoteVersion
The protocol version of the connected framework.
Definition: RemoteConnection.h:672
QoS management informations.
boost::thread mCheckPingTimeoutThread
Definition: RemoteConnection.h:763
std::unordered_map< std::string, ServiceLevel > mPendingChannelUpdates
Definition: RemoteConnection.h:803
std::map< std::string, boost::shared_ptr< RemoteAuthority > > mRemoteAuthorities
Definition: RemoteConnection.h:797
Definition: BinarySerializer.h:316
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:751
Definition: RemoteConnection.h:773
Type trait that indicates whether a type should be serialized "transparently", i.e.
Definition: IsTransparentSerializable.h:81
Duration queryRemoteOffset(const Time &remoteTs) const
Query offset to apply on remote timestamp.
Duration mStartOffset
Definition: RemoteConnection.h:231
std::list< RPCMessage > mOutgoingRPCMessages
Definition: RemoteConnection.h:800
void receivedPTPDelayRequest(uint64 timestamp)
boost::thread mSendChannelUpdatesThread
Definition: RemoteConnection.h:764
Time mPTPDelayLocal
Definition: RemoteConnection.h:783
Duration currentOffset() const
For use in readonly property getter (info on current offset)
Definition: RemoteConnection.h:223
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:876
DispatcherThread::TimerPtr TimerPtr
Definition: DispatcherThread.h:524
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:808
virtual void start()
Implementation of RemoteConnection.
bool isPTPSyncEnabled()
Is synchronization of clocks via PTP enabled?
Definition: RemoteConnection.h:413
ServiceLevel by channel name.
Definition: ServiceLevel.h:102
RPCRemoteRequestHandler(RemoteConnection *iConnection)
Constructor taking the connection pointer.
Definition: RemoteConnection.h:337
std::string mMigrationNS
Definition: RemoteConnection.h:791
boost::mutex mConnectionMutex
Definition: RemoteConnection.h:353
void receivedSubscribeChannelRequest()
void syncTime()
Time synchronization between frameworks.
StringSet publishedServices
List of services of the connected framework.
Definition: RemoteConnection.h:676
void receivedMigrationFinishedMsg()
ConcreteRemoteConnection(boost::asio::io_service &service)
Constructs a remote connection that uses a given io service.
Definition: RemoteConnection.h:815
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:229
RPCRemoteFinishHandler(RemoteConnection *iConnection)
Constructor taking the connection pointer.
Definition: RemoteConnection.h:306
Connection class for incoming connections.
Definition: RemoteConnection.h:854
Descriptive informations about an authority.
bool isValid() const
Checks if this duration is invalid.
Definition: Time.h:257
void sendRPCMessagesThread()
std::unique_ptr< Authority > authority
Our authority used for subscribing to data.
Definition: RemoteConnection.h:673
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:768
virtual void start()
Starts the connection. Can be implemented in derived classes.
TimeOffsetCompensation & operator=(TimeOffsetCompensation other)
Definition: RemoteConnection.h:212
UUID getRemoteID() const
Definition: RemoteConnection.h:520
RPCHandler for sending a rpc call to the server side.
Definition: RemoteConnection.h:333
boost::shared_ptr< RPCRemoteRequestHandler > mRPCRequestHandler
Definition: RemoteConnection.h:796
bool isValid() const
Returns true if this contains a valid time.
Definition: Time.h:575
Duration getCompensationInterval() const
std::set< std::string > MetaSet
Definition: RemoteConnection.h:291
virtual int addBinaryFormatVersion(Buffer< uint8 > &data)
boost::mutex mConnectionMutex
Definition: RemoteConnection.h:322
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:678
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:784
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:323
boost::shared_ptr< MicroUnit > mMigrationUnit
Definition: RemoteConnection.h:790
void receivedPublishChannelMsg()
Definition: RemoteConnection.h:771
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:282
Time mPTPSyncRemote
Definition: RemoteConnection.h:782
Connection class for outgoing connections.
Definition: RemoteConnection.h:902
std::string frameworkID
The ID/Name of the connected framework.
Definition: RemoteConnection.h:671
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:756
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:777
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:354
void receivedUnsubscribeChannelRequest(const std::string &channelID)
std::string getGlobalID() const
Definition: RemoteConnection.h:525
boost::mutex mChannelUpdatesMutex
Definition: RemoteConnection.h:804
virtual void receivedPublishServiceMsg()
An object that allows read access to data of a channel.
Definition: ChannelReadWrite.h:494
std::string mHostName
Definition: RemoteConnection.h:937
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:234
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:894
void receivedChannelMetaMsg()
Wrapper class for boost::posix_time::ptime for adding more functionality to it.
Definition: Time.h:418
#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:283
void setAddress(const KnownFramework &addr)
Definition: RemoteConnection.h:545
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:950
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:550
Marker for indicating parameters that should be ignored if they are missing in the config file...
Definition: IgnoreMissing.h:73
Definition: RemoteConnection.h:943
boost::thread mSendRPCMessagesThread
Definition: RemoteConnection.h:761
void receivedUnpublishChannelMsg()
Commonly used exception classes.
void writeMessageFromData(FrameworkMessageType msg, const DataType &data)
Writes a message to the other framework.
Definition: RemoteConnection.h:639
TimerPtr mSyncTimeTimer
Definition: RemoteConnection.h:759
void updateOutgoingStats(std::size_t size)
boost::shared_ptr< RPCRemoteFinishHandler > mRPCFinishHandler
Definition: RemoteConnection.h:795
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...
void setTargetOffset(const Duration &target, const Time &localTs)
Set a new target offset.
RemoteIncomingConnection()
Message types exchanged between remote frameworks.
const std::string & getFrameworkID() const
Definition: RemoteConnection.h:535
void writeMessage(FrameworkMessageType msg, Arg &&arg, Args &&... args)
Writes a message to the other framework.
Definition: RemoteConnection.h:609
void write(const BufferSequence &buffers)
Send data in the buffers to the connected framework.
Definition: RemoteConnection.h:503
sec_type seconds() const
Returns normalized number of seconds (0..59)
Definition: Time.h:280
Use this class to represent time durations.
Definition: Time.h:106
void reflect(Reflector &r)
Definition: RemoteConnection.h:377
void receivedPublishAuthorityMsg()
std::pair< FrameworkMessageType, Buffer< uint8 > > RPCMessage
Definition: RemoteConnection.h:799
void reflect(Reflector &r)
Definition: RemoteConnection.h:864
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:394
ChannelSendMap subscriptions
List of channels the connected framework is subscribed to + what was sent to them.
Definition: RemoteConnection.h:674
KnownFramework()
Definition: RemoteConnection.h:82
bool mPTPOutgoing
Definition: RemoteConnection.h:780
void handleReadMessage(const boost::system::error_code &error)
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:954
void handleReadHeader(const boost::system::error_code &error)
ConcreteRemoteOutgoingConnection< 2 > RemoteOutgoingConnection
Definition: RemoteConnection.h:953
static Time now()
Returns the current utc based time.
Definition: Time.h:481
bool forcePTP
force PTP time sync
Definition: RemoteConnection.h:132
Definition: RemoteConnection.h:775
uint16 mPort
Definition: RemoteConnection.h:938
void receivedMigrationMsg()
virtual ~ConcreteRemoteConnection()
Destructor.
Definition: RemoteConnection.h:821
virtual void onRPCrequested(Buffer< uint8 > &&request)
Implementation of RPCManager::RemoteRequestHandler Will send request to the framework that will proce...
Time mPingLastReceived
Definition: RemoteConnection.h:788
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:530
Framework channel classes.
KnownFramework address
The address of the connected framework.
Definition: RemoteConnection.h:669
AuthState
Definition: RemoteConnection.h:770
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:302
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:419
std::map< std::string, SendData > ChannelSendMap
Definition: RemoteConnection.h:289
Base class of connections between frameworks.
Definition: RemoteConnection.h:277
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:757
void receivedPTPFollowUp(uint64 timestamp)
Time mPingLastSend
Definition: RemoteConnection.h:787
#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:292
virtual void receivedPublishServiceMsg()=0
void receivedWriteChannelMsg()
UUID remoteID
The UUID of the connected framework.
Definition: RemoteConnection.h:670
bool mEnablePingTimeout
Ping timeout enabled for this connection?
Definition: RemoteConnection.h:680
virtual void unpublishServicesFiltered(const StringSet &services)
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:286
virtual void onWriteError(boost::system::system_error &e)
Called when writing to the socket failed. Can be implemented in derived classes.
Definition: RemoteConnection.h:564
void receivedUnpublishServiceMsg()
virtual void onDisconnect()
Called in stop() when connection is about to be stopped.
Definition: RemoteConnection.h:561
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:939
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:69
TimeOffsetCompensation clockOffset
The clock offset between us and the connected framework.
Definition: RemoteConnection.h:681
Time mPTPSyncLocal
Definition: RemoteConnection.h:781
void writeMessageFromBuffer(FrameworkMessageType msg, const BufferType &buffer)
Writes a message to the other framework.
Definition: RemoteConnection.h:623
const KnownFramework & getAddress() const
Definition: RemoteConnection.h:540
boost::condition_variable mRPCMessagesCondition
Definition: RemoteConnection.h:754
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()
void startTimeSync()
Create a timer to frequently call syncTime.
MetaSet sentMetaInformation
Set of type meta information already sent.
Definition: RemoteConnection.h:675
Time mHeaderReceived
Definition: RemoteConnection.h:766
virtual void receivedRPCResponseMsg()
boost::asio::ip::tcp::socket mSocket
Definition: RemoteConnection.h:752
Definition: RemoteConnection.h:285
An authority class that represents a remote authority that is located in a connected framework...
boost::mutex mRPCMessagesMutex
Definition: RemoteConnection.h:801
std::string mMigrationID
Definition: RemoteConnection.h:792
RemoteConnection()
Constructs a remote connection that uses its own io service.
void receivedTypeMetaMsg()
bool isSynchronized() const
synchronizeFrameworks() was executed.
Definition: RemoteConnection.h:439
friend class ClassFactoryDefaultConstClassBuilder
Definition: RemoteConnection.h:861
bool mEnablePTPSync
PTP Sync enabled for this connection?
Definition: RemoteConnection.h:679
void writeMessage(FrameworkMessageType msg)
Writes a message to the other framework.
Definition: RemoteConnection.h:594
Time lastData
Definition: RemoteConnection.h:287
friend void createConcreteRemoteConnectionInstances()
std::string mAuthSignMsg
Definition: RemoteConnection.h:778
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:793
boost::thread mProcessPingThread
Definition: RemoteConnection.h:762
Duration queryLocalOffset(const Time &localTs) const
Query offset to apply on local timestamp.
Duration offset(const Time &ts, bool local) const
The actual offset calculation (interpolation between start and target offset)
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:767
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:774
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:910
virtual void sendData(ChannelRead< void > value, ServiceLevel &serviceLevel)
Definition: RemoteConnection.h:731
Class for in-place stream formatting Used for constructs like:
Definition: MakeString.h:63
Definition: RemoteConnection.h:772
Time mStartTime
Definition: RemoteConnection.h:232
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:785