Thread portable class


Gate portable class


Timer class


Pool class


Terimber 2.0


About C++


Downloads Products & Services Support Clients Open Source About



Home / Open source / Terimber 2.0

terimber_aiogate Class Reference

class abstraction aiogate aiogate will provide this interface More...

#include <aiogatefactory.h>

Inheritance diagram for terimber_aiogate:

terimber_log_helper terimber_log aiogate

List of all members.

Public Member Functions

virtual ~terimber_aiogate ()
 destructor
virtual size_t listen (const char *address, unsigned short port, size_t max_connection, unsigned short buffered_acceptors, terimber_aiogate_pin_factory *factory, void *arg)=0
 initiates listening on ip/port pin returns unique identificator for listener caller invokes function only once - aiogate will accept incoming connection automatically listen --> accept --> factory->create() --> pin->on_accept() -| |________________________________________________| until deaf function called all failed accepts ignored
virtual void deaf (size_t ident)=0
 stops listener with specified ident
virtual size_t connect (const char *remote, unsigned short rport, const char *local, unsigned short lport, size_t timeout, terimber_aiogate_pin_factory *factory, void *arg)=0
 initiate connection returns ident if asynchronous connection process has been initiated when asynchronous connection completed (failed or succeeded) connect --> factory->create() --> (pin->on_connect() OR pin->on_close())
virtual size_t bind (const char *address, unsigned short port, terimber_aiogate_pin_factory *factory, void *arg)=0
 binds to the specified socket address
virtual bool send (size_t ident, const void *buf, size_t len, const sockaddr_in *toaddr)=0
 sends buf bytes asynchronously caller does NOT need to keep a valid pointer to the buffer until the asynchronous operation is be completed aiogate will make a copy of sending bytes.
virtual bool send_bulk (size_t ident, const terimber_aiogate_buffer *bulk, size_t count, const sockaddr_in *toaddr)=0
 same as above but can take the array of buffers
virtual bool recv (size_t ident, bool expect_delivery, const sockaddr_in *toaddr)=0
 initiates receive process, either use the big buffer or just a small one in order to save the memory usage for a unknown waiting time
virtual bool close (size_t ident)=0
 closes connection pin
virtual bool set_send_timeout (size_t ident, size_t timeout)=0
 sets send timeout
virtual bool set_recv_timeout (size_t ident, size_t timeout)=0
 sets recv timeout
virtual void doxray ()=0
 makes the snapshot of internal state


Detailed Description

class abstraction aiogate aiogate will provide this interface

Definition at line 149 of file aiogatefactory.h.


Constructor & Destructor Documentation

virtual terimber_aiogate::~terimber_aiogate (  )  [inline, virtual]

destructor

Definition at line 153 of file aiogatefactory.h.


Member Function Documentation

virtual size_t terimber_aiogate::listen ( const char *  address,
unsigned short  port,
size_t  max_connection,
unsigned short  buffered_acceptors,
terimber_aiogate_pin_factory factory,
void *  arg 
) [pure virtual]

initiates listening on ip/port pin returns unique identificator for listener caller invokes function only once - aiogate will accept incoming connection automatically listen --> accept --> factory->create() --> pin->on_accept() -| |________________________________________________| until deaf function called all failed accepts ignored

Parameters:
address  server ip or name, can be null - localhost will be used
port  listening port
max_connection  max waited connections
buffered_acceptors  how many acceptors will be waiting for incoming pins
factory  factory, which knows how to create pin
arg  user defined argument - will be used for terimber_aiogate_pin_factory::create method as an input argument this is a way how to separate different sources of incoming socket connections

Implemented in aiogate.

virtual void terimber_aiogate::deaf ( size_t  ident  )  [pure virtual]

stops listener with specified ident

Parameters:
ident  listener ident

Implemented in aiogate.

virtual size_t terimber_aiogate::connect ( const char *  remote,
unsigned short  rport,
const char *  local,
unsigned short  lport,
size_t  timeout,
terimber_aiogate_pin_factory factory,
void *  arg 
) [pure virtual]

initiate connection returns ident if asynchronous connection process has been initiated when asynchronous connection completed (failed or succeeded) connect --> factory->create() --> (pin->on_connect() OR pin->on_close())

Parameters:
remote  remote host ip or name
rport  remote port
local  local host ip or name - optional can be null
lport  local port - optional can be zero
timeout  timeout in milliseconds
factory  factory, which knows how to create pin
arg  user defined argument - will be used for terimber_aiogate_pin_factory::create method as an input argument this is a way to separate different destinations of outgoing socket connections

Implemented in aiogate.

virtual size_t terimber_aiogate::bind ( const char *  address,
unsigned short  port,
terimber_aiogate_pin_factory factory,
void *  arg 
) [pure virtual]

binds to the specified socket address

Parameters:
address  local host ip or name
port  local port
factory  factory, which knows how to create pin
arg  user defined argument - will be used for terimber_aiogate_pin_factory::create method as an input argument

Implemented in aiogate.

virtual bool terimber_aiogate::send ( size_t  ident,
const void *  buf,
size_t  len,
const sockaddr_in *  toaddr 
) [pure virtual]

sends buf bytes asynchronously caller does NOT need to keep a valid pointer to the buffer until the asynchronous operation is be completed aiogate will make a copy of sending bytes.

Parameters:
ident  unique pin identificator
buf  buffer to send
len  length of buffer
toaddr  peer address, optional for UDP only

Implemented in aiogate.

virtual bool terimber_aiogate::send_bulk ( size_t  ident,
const terimber_aiogate_buffer bulk,
size_t  count,
const sockaddr_in *  toaddr 
) [pure virtual]

same as above but can take the array of buffers

Parameters:
ident  unique pin identificator
bulk  buffers to send
count  length of bulk
toaddr  peer address, optional for UDP only

Implemented in aiogate.

virtual bool terimber_aiogate::recv ( size_t  ident,
bool  expect_delivery,
const sockaddr_in *  toaddr 
) [pure virtual]

initiates receive process, either use the big buffer or just a small one in order to save the memory usage for a unknown waiting time

Parameters:
ident  unique pin identificator
expect_delivery  memory usage advisor
toaddr  peer address, optional for UDP only

Implemented in aiogate.

virtual bool terimber_aiogate::close ( size_t  ident  )  [pure virtual]

closes connection pin

Parameters:
ident  unique pin identificator

Implemented in aiogate.

virtual bool terimber_aiogate::set_send_timeout ( size_t  ident,
size_t  timeout 
) [pure virtual]

sets send timeout

Parameters:
ident  unique pin identificator
timeout  timeout in milliseconds

Implemented in aiogate.

virtual bool terimber_aiogate::set_recv_timeout ( size_t  ident,
size_t  timeout 
) [pure virtual]

sets recv timeout

Parameters:
ident  unique pin identificator
timeout  timeout in milliseconds

Implemented in aiogate.

virtual void terimber_aiogate::doxray (  )  [pure virtual]

makes the snapshot of internal state

Implemented in aiogate.


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


© Copyright Terimber 2003-.