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

A slave system solving TSP. More...

#include <TSPSlave.hpp>

Collaboration diagram for samchon::example::interaction::TSPSlave:

Public Member Functions

 TSPSlave (const string &ip)
 Construct from ip address of the master. More...
 
- Public Member Functions inherited from samchon::example::interaction::Slave
 Slave (const string &ip, int port)
 Construct from ip address and port number of master. More...
 
- Public Member Functions inherited from samchon::protocol::slave::ParallelClient
 ParallelClient ()
 Default Constructor. More...
 
- Public Member Functions inherited from samchon::protocol::slave::ParallelSystem
 ParallelSystem ()
 Default Constructor. More...
 
virtual void replyPieceData (std::shared_ptr< Invoke >, size_t, size_t)=0
 Handle requested processes which are segmented. More...
 
- Public Member Functions inherited from samchon::protocol::slave::SlaveSystem
 SlaveSystem ()
 Default Constructor. 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::slave::SlaveClient
 SlaveClient ()
 Default Constructor. 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::ServerConnector
 ServerConnector ()
 Default Constructor. More...
 
virtual void connect ()
 Connect to a server. More...
 

Static Public Member Functions

static void main ()
 Main function. More...
 

Protected Member Functions

virtual void optimize (shared_ptr< XML > xml, size_t index, size_t size) override
 Optimize something and report the result. More...
 
- Protected Member Functions inherited from samchon::example::interaction::Slave
void sendOptimization (shared_ptr< XML > xml)
 Send (report) optimization result to its master system. More...
 
- Protected Member Functions inherited from samchon::protocol::slave::ParallelSystem
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...
 
- Protected Member Functions inherited from samchon::protocol::IClient
virtual auto BUFFER_SIZE () const -> size_t
 Buffer size of network I/O. More...
 

Additional Inherited Members

- 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::ExternalServer
std::string myIP
 A custom ip address of my system to bind. 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 slave system solving TSP.

[Inherited]
Author
Jeongho Nam http://samchon.org

Definition at line 28 of file TSPSlave.hpp.

Constructor & Destructor Documentation

samchon::example::interaction::TSPSlave::TSPSlave ( const string &  ip)
inline

Construct from ip address of the master.

Parameters
ipIP address of the master.

Definition at line 43 of file TSPSlave.hpp.

Member Function Documentation

virtual void samchon::example::interaction::TSPSlave::optimize ( shared_ptr< XML xml,
size_t  index,
size_t  size 
)
inlineoverrideprotectedvirtual

Optimize something and report the result.

Parameters
xmlXML object representing a Travel.
indexStarting index of a segmentation allocated to the Slave.
sizeSize of the segmentation.

Reimplemented from samchon::example::interaction::Slave.

Definition at line 53 of file TSPSlave.hpp.

References samchon::example::tsp::Scheduler::optimize(), and samchon::example::tsp::Scheduler::toXML().

Here is the call graph for this function:

static void samchon::example::interaction::TSPSlave::main ( )
inlinestatic

Main function.

Definition at line 72 of file TSPSlave.hpp.

References samchon::protocol::ExternalServer::start().

Here is the call graph for this function:


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