#include <source/ariba/utility/transport/tcpip/tcpip.hpp>
Inherits ariba::transport::transport_protocol.
Public Member Functions | |
tcpip (uint16_t port) | |
virtual | ~tcpip () |
virtual void | start () |
virtual void | stop () |
virtual void | send (const address_v *remote, const uint8_t *data, size_t size) |
virtual void | send (const endpoint_set &endpoints, const uint8_t *data, size_t size) |
virtual void | terminate (const address_v *remote) |
virtual void | register_listener (transport_listener *listener) |
Static Private Member Functions | |
static void * | receiverThread (void *ptp) |
Private Attributes | |
volatile bool | done |
volatile bool | running |
uint16_t | port |
pthread_t | tpreceivethread |
ThreadStarter< TPoverTCP, TPoverTCPParam > * | tpthread |
transport_listener * | listener |
Definition at line 25 of file tcpip.hpp.
ariba::transport::tcpip::tcpip | ( | uint16_t | port | ) |
ariba::transport::tcpip::~tcpip | ( | ) | [virtual] |
void * ariba::transport::tcpip::receiverThread | ( | void * | ptp | ) | [static, private] |
Definition at line 148 of file tcpip.cpp.
References protlib::FastQueue::cleanup(), ariba::transport::convert(), protlib::NetMsg::decode16(), protlib::NetMsg::decode32(), protlib::FastQueue::dequeue_timedwait(), done, protlib::NetMsg::get_buffer(), protlib::TPMsg::get_message(), protlib::TPMsg::get_ownaddress(), protlib::TPMsg::get_peeraddress(), protlib::QueueManager::get_queue(), protlib::QueueManager::instance(), listener, protlib::message::qaddr_signaling, ariba::transport::transport_listener::receive_message(), running, and protlib::NetMsg::set_pos().
Referenced by start().
void ariba::transport::tcpip::register_listener | ( | transport_listener * | listener | ) | [virtual] |
Implements ariba::transport::transport_protocol.
Definition at line 144 of file tcpip.cpp.
Referenced by ariba::transport::transport_peer::register_listener().
void ariba::transport::tcpip::send | ( | const endpoint_set & | endpoints, | |
const uint8_t * | data, | |||
size_t | size | |||
) | [virtual] |
Implements ariba::transport::transport_protocol.
Definition at line 126 of file tcpip.cpp.
References ariba::addressing::endpoint_set::ip, port, send(), and ariba::addressing::endpoint_set::tcp.
void ariba::transport::tcpip::send | ( | const address_v * | remote, | |
const uint8_t * | data, | |||
size_t | size | |||
) | [virtual] |
Implements ariba::transport::transport_protocol.
Definition at line 108 of file tcpip.cpp.
References ariba::transport::convert(), protlib::NetMsg::encode16(), protlib::NetMsg::encode32(), protlib::NetMsg::encode8(), protlib::ThreadStarter< T, TParam >::get_thread_object(), port, protlib::TPoverTCP::send(), and tpthread.
Referenced by ariba::transport::transport_peer::send(), and send().
void ariba::transport::tcpip::start | ( | ) | [virtual] |
Implements ariba::transport::transport_protocol.
Definition at line 65 of file tcpip.cpp.
References done, ariba::transport::get_message_length(), protlib::setuid::init(), protlib::tsdb::init(), protlib::QueueManager::instance(), port, protlib::message::qaddr_signaling, receiverThread(), protlib::QueueManager::register_queue(), running, protlib::ThreadStarter< T, TParam >::start_processing(), tpreceivethread, and tpthread.
Referenced by ariba::transport::transport_peer::start().
void ariba::transport::tcpip::stop | ( | ) | [virtual] |
Implements ariba::transport::transport_protocol.
Definition at line 88 of file tcpip.cpp.
References protlib::ThreadStarter< T, TParam >::abort_processing(), protlib::log::clear, done, protlib::tsdb::end(), protlib::setuid::end(), protlib::QueueManager::instance(), protlib::message::qaddr_signaling, protlib::ThreadStarter< T, TParam >::stop_processing(), tpthread, protlib::QueueManager::unregister_queue(), and protlib::ThreadStarter< T, TParam >::wait_until_stopped().
Referenced by ariba::transport::transport_peer::stop(), and ~tcpip().
void ariba::transport::tcpip::terminate | ( | const address_v * | remote | ) | [virtual] |
Implements ariba::transport::transport_protocol.
Definition at line 137 of file tcpip.cpp.
References ariba::transport::convert(), protlib::hostaddress::convert_to_ipv6(), protlib::ThreadStarter< T, TParam >::get_thread_object(), protlib::TPoverTCP::terminate(), and tpthread.
Referenced by ariba::transport::transport_peer::terminate().
volatile bool ariba::transport::tcpip::done [private] |
uint16_t ariba::transport::tcpip::port [private] |
volatile bool ariba::transport::tcpip::running [private] |
pthread_t ariba::transport::tcpip::tpreceivethread [private] |