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

A slave system for solving Packer. More...

#include <PackerSlave.hpp>

Collaboration diagram for samchon::example::interaction::PackerSlave:

Public Member Functions

 PackerSlave (const string &ip, int port)
 Construct from ip and port 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 TSP 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 for solving Packer.

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

Definition at line 27 of file PackerSlave.hpp.

Constructor & Destructor Documentation

samchon::example::interaction::PackerSlave::PackerSlave ( const string &  ip,
int  port 
)
inline

Construct from ip and port of the master.

Parameters
ipIP address of the master.
portPort number of the master.

Definition at line 43 of file PackerSlave.hpp.

Member Function Documentation

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

Optimize TSP 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 60 of file PackerSlave.hpp.

References samchon::example::packer::Packer::optimize(), samchon::example::packer::Packer::toString(), and samchon::example::packer::Packer::toXML().

Here is the call graph for this function:

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

Main function.

Definition at line 79 of file PackerSlave.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: