Samchon Framework for CPP
1.0.0
|
A slave system for optimizing something. More...
#include <Slave.hpp>
Public Member Functions | |
Slave (const string &ip, int port) | |
Construct from ip address and port number of master. More... | |
![]() | |
ParallelClient () | |
Default Constructor. More... | |
![]() | |
ParallelSystem () | |
Default Constructor. More... | |
virtual void | replyPieceData (std::shared_ptr< Invoke >, size_t, size_t)=0 |
Handle requested processes which are segmented. More... | |
![]() | |
SlaveSystem () | |
Default Constructor. More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
Entity () | |
Default Constructor. More... | |
![]() | |
IEntityGroup () | |
Default Constructor. More... | |
![]() | |
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... | |
![]() | |
IProtocol () | |
Default Constructor. More... | |
![]() | |
SlaveClient () | |
Default Constructor. More... | |
![]() | |
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... | |
![]() | |
ServerConnector () | |
Default Constructor. More... | |
virtual void | connect () |
Connect to a server. More... | |
Protected Member Functions | |
virtual void | optimize (shared_ptr< XML > xml, size_t index, size_t size) |
Optimize something and report the result. More... | |
void | sendOptimization (shared_ptr< XML > xml) |
Send (report) optimization result to its master system. More... | |
![]() | |
virtual auto | createChild (std::shared_ptr< library::XML >) -> ExternalSystemRole *override |
Factory method of a child Entity. More... | |
virtual void | _replyData (std::shared_ptr< Invoke >) override |
Pre-processor for segmented processes and reporting elapsed time. More... | |
![]() | |
virtual auto | BUFFER_SIZE () const -> size_t |
Buffer size of network I/O. More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
Socket * | socket |
Socket for network I/O. More... | |
std::mutex * | sendMtx |
A mutex for sending message. More... | |
![]() | |
std::string | myIP |
A custom ip address of my system to bind. More... | |
![]() | |
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... | |
A slave system for optimizing something.
Slave is an abstract and example class, for providing guidance of realizing parallel processsing system for useres, within framework of slave. The Slave class represents a slave system literally. You can study how to utilize the slave module in protocol.
A slave system (represented by Slave and SlaveDriver) is associated with a master (represented by Master and MasterSlave) or mediator (PackerMediator) system. When slave system gets order of optimization with its basic data, slave system calculates and derives the best solution and reports it to the master system.
|
inline |
|
inlineprotectedvirtual |
Optimize something and report the result.
xml | XML object representing a Travel. |
index | Starting index of a segmentation allocated to the Slave. |
size | Size of the segmentation. |
Reimplemented in samchon::example::interaction::PackerSlave, and samchon::example::interaction::TSPSlave.
|
inlineprotected |