1 #ifndef FIPA_SERVICES_TRANSPORTS_TCP_TCP_TRANSPORT_HPP 2 #define FIPA_SERVICES_TRANSPORTS_TCP_TCP_TRANSPORT_HPP 4 #include <fipa_services/MessageTransport.hpp> 5 #include <fipa_services/DistributedServiceDirectory.hpp> 6 #include <fipa_acl/fipa_acl.h> 7 #include "../Transport.hpp" 9 #include <boost/asio/io_service.hpp> 10 #include <boost/asio/ip/tcp.hpp> 14 namespace transports {
24 typedef boost::shared_ptr<boost::asio::ip::tcp::socket> SocketPtr;
26 static boost::asio::io_service msIOService;
27 boost::asio::ip::tcp::acceptor mAcceptor;
30 std::vector<SocketPtr> mClients;
36 uint16_t getPort()
const;
49 bool read(SocketPtr socket);
74 void listen(uint16_t port = 0);
80 void update(
bool readAllMessages);
100 #endif // FIPA_SERVICES_TRANSPORTS_TCP_TCP_TRANSPORT_HPP A unidirectional, outgoing tcp connection that allows to send fipa letter to a receiver.
Definition: OutgoingConnection.hpp:16
Connection management base class.
Definition: Transport.hpp:24
boost::shared_ptr< OutgoingConnection > Ptr
Definition: OutgoingConnection.hpp:18
virtual void start()
Definition: TCPTransport.cpp:42
void update(bool readAllMessages)
Definition: TCPTransport.cpp:47
Communication address specified by IP, port, and protocol.
Definition: Address.hpp:15
TCPTransport()
Definition: TCPTransport.cpp:33
~TCPTransport()
Definition: TCPTransport.cpp:39
virtual OutgoingConnection::Ptr establishOutgoingConnection(const Address &address)
Definition: TCPTransport.cpp:196
static boost::asio::io_service & getIOService()
Definition: TCPTransport.cpp:28
void listen(uint16_t port=0)
Definition: TCPTransport.cpp:110
Definition: DistributedServiceDirectory.cpp:5
Definition: TCPTransport.hpp:20
Address getAddress(const std::string &interfaceName="eth0") const
Definition: TCPTransport.cpp:95