Samchon Framework for CPP  1.0.0
samchon::example::interaction::MasterDriver Class Reference

A driver for each system, master. More...

#include <MasterDriver.hpp>

Collaboration diagram for samchon::example::interaction::MasterDriver:

Public Member Functions

 MasterDriver (IProtocol *chief, const string &name, const string &ip, int port)
 Construct from parent(master), name, ip and port. More...
 
- Public Member Functions inherited from samchon::protocol::ExternalServer
 ExternalServer ()
 Default Constructor. More...
 
virtual void construct (std::shared_ptr< library::XML >) override
 Construct data of the Entity from an XML object. More...
 
virtual void start () override
 Start interaction. More...
 
virtual auto getIP () const -> std::string override
 Destinatio IP. More...
 
virtual auto getPort () const -> int override
 Destination port. More...
 
virtual auto getMyIP () const -> std::string override
 (optional) My IP, if you want to bind More...
 
virtual auto toXML () const -> std::shared_ptr< library::XML > override
 Get an XML object represents the EntityGroup. More...
 
- Public Member Functions inherited from samchon::protocol::ExternalSystem
 ExternalSystem ()
 Default Constructor. More...
 
virtual auto key () const -> std::string override
 Get a key that can identify the Entity uniquely. More...
 
virtual void replyData (std::shared_ptr< Invoke >) override
 Handling replied message from an external system. More...
 
virtual auto TAG () const -> std::string override
 A tag name when represented by XML. More...
 
virtual auto CHILD_TAG () const -> std::string override
 A tag name of children. More...
 
- Public Member Functions inherited from samchon::protocol::EntityGroup< _Container, _ETy, T >
 EntityGroup ()
 Default Constructor. More...
 
auto has (const std::string &key) const -> bool
 Indicates whether a container has an object having the specified identifier. More...
 
auto get (const std::string &key) -> value_type &
 Access the element by specified identifier(key). More...
 
auto get (const std::string &key) const -> const value_type &
 Access the const element by specified identifier(key). More...
 
- Public Member Functions inherited from samchon::protocol::Entity
 Entity ()
 Default Constructor. More...
 
- Public Member Functions inherited from samchon::protocol::IEntityGroup
 IEntityGroup ()
 Default Constructor. More...
 
- Public Member Functions inherited from samchon::protocol::IClient
 IClient ()
 Default Constructor. More...
 
virtual void listen ()
 Listens message from a related system. More...
 
virtual void sendData (std::shared_ptr< Invoke >)
 Sends message to a related system. More...
 
- Public Member Functions inherited from samchon::protocol::IProtocol
 IProtocol ()
 Default Constructor. More...
 
- Public Member Functions inherited from samchon::protocol::ServerConnector
 ServerConnector ()
 Default Constructor. More...
 
virtual void connect ()
 Connect to a server. More...
 

Private Attributes

IProtocolchief
 A chief, containing the driver object. More...
 

Additional Inherited Members

- Protected Member Functions inherited from samchon::protocol::EntityGroup< _Container, _ETy, T >
virtual auto createChild (std::shared_ptr< library::XML >) -> entity_type *=0
 Factory method of a child Entity. More...
 
- Protected Member Functions inherited from samchon::protocol::IClient
virtual auto BUFFER_SIZE () const -> size_t
 Buffer size of network I/O. More...
 
virtual void _replyData (std::shared_ptr< Invoke >)
 A method for pre-processing replied Invoke message. More...
 
- Protected Attributes inherited from samchon::protocol::ExternalServer
std::string myIP
 A custom ip address of my system to bind. More...
 
- Protected Attributes inherited from samchon::protocol::ExternalSystem
std::string name
 A name can identify an external system. More...
 
std::string ip
 An ip address of an external system. More...
 
int port
 A port number of an external system. More...
 
- Protected Attributes inherited from samchon::protocol::IClient
Socket * socket
 Socket for network I/O. More...
 
std::mutex * sendMtx
 A mutex for sending message. More...
 
- Protected Attributes inherited from samchon::protocol::ServerConnector
boost::asio::io_service * ioService
 An io_service of Boost.Asio's own. More...
 
EndPoint * endPoint
 An endpoint directing a server. More...
 
EndPoint * localEndPoint
 (Optional) An local endpoint of the client (my system) More...
 

Detailed Description

A driver for each system, master.

MasterDriver is a boundary class interacting with a master system which is one of them; PackerMaster, TSPMaster and Reporter. The MasterDriver classes are belonged to a Chief logically and real systems associated with the MasterDriver classes are belonged to a Cheif physically.

example_interaction.png
example_interaction_network_diagram.png
[Inherited]
Default Constructor.
Author
Jeongho Nam http://samchon.org

Definition at line 35 of file MasterDriver.hpp.

Constructor & Destructor Documentation

samchon::example::interaction::MasterDriver::MasterDriver ( IProtocol chief,
const string &  name,
const string &  ip,
int  port 
)
inline

Construct from parent(master), name, ip and port.

Parameters
chiefA Chief object that the MasterDriver is belonged to.
nameName of the system the driver is connected to.
ipIP address of the slave system.
portPort number of the slave system.

Definition at line 57 of file MasterDriver.hpp.

References samchon::protocol::IProtocol::replyData().

Here is the call graph for this function:

Member Data Documentation

IProtocol* samchon::example::interaction::MasterDriver::chief
private

A chief, containing the driver object.

A Chief instance belonging the MasterDriver object.

Definition at line 46 of file MasterDriver.hpp.


The documentation for this class was generated from the following file: