ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Types | Public Member Functions | List of all members
anna::comm::DatagramSocket Class Reference

#include <DatagramSocket.hpp>

Inheritance diagram for anna::comm::DatagramSocket:
Inheritance graph
[legend]
Collaboration diagram for anna::comm::DatagramSocket:
Collaboration graph
[legend]

Public Types

enum  Mode { ReadOnly, WriteOnly }
 

Public Member Functions

 DatagramSocket (const Mode mode, const INetAddress &address, TransportFactory *transportFactory=NULL)
 
Mode getMode () const
 
const bool isReadOnly () const
 
const bool isWriteOnly () const
 
void connect () noexcept(false)
 
- Public Member Functions inherited from anna::comm::ClientSocket
 ClientSocket (TransportFactory *transportFactory=NULL, Domain::_v domain=Socket::Domain::Inet, Type::_v type=Socket::Type::Stream)
 
 ClientSocket (const INetAddress &remoteAddress, TransportFactory *transportFactory=NULL, const Type::_v type=Socket::Type::Stream)
 
 ClientSocket (const std::string &path, const Type::_v type=Socket::Type::Stream)
 
 ClientSocket (const INetAddress &remoteAddress, const INetAddress &localAddress, TransportFactory *transportFactory=NULL, const Type::_v type=Socket::Type::Stream)
 
virtual ~ClientSocket ()
 
const AccessPointgetRemoteAccessPoint () const
 
bool isConnected () const
 
bool isSynchronized () const
 
bool isCorrupt () const
 
bool isClosedPending () const
 
ServergetServer () noexcept(false)
 
const MillisecondgetMaxConnectionDelay () const
 
const MillisecondgetMaxWriteDelay () const
 
virtual void setfd (const int fd) noexcept(false)
 
void setMaxConnectionDelay (const Millisecond &msMaxConnectionDelay)
 
void setMaxWriteDelay (const Millisecond &msMaxWriteDelay)
 
bool getIgnoreIncomingMessages () const
 
void setIgnoreIncomingMessages (const bool ignoreIncomingMessages)
 
void send (Message &message) noexcept(false)
 
void send (Message *message) noexcept(false)
 
Notify::_v wait (const Millisecond &timeout, const bool receive=true) noexcept(false)
 
void forgot ()
 
TransportgetTransport () noexcept(false)
 
ReceivergetReceiver () noexcept(false)
 
void setReceiver (Receiver *receive) noexcept(false)
 
void requestClose ()
 
bool hasRequestedClose () const
 
virtual std::string asString () const
 
virtual xml::NodeasXML (xml::Node *parent) const noexcept(false)
 
- Public Member Functions inherited from anna::comm::Socket
virtual ~Socket ()
 
int getfd () const
 
Type::_v getType () const
 
Domain::_v getDomain () const
 
int getCategory () const
 
bool support (const char *transportClassName) const
 
bool isBound () const
 
bool isOpened () const
 
virtual bool isSecure () const
 
const AccessPointgetLocalAccessPoint () const
 
TransportFactorygetTransportFactory () const
 
ReceiverFactorygetReceiverFactory ()
 
bool setBlockingMode (const bool blockingMode) noexcept(false)
 
bool setReuseMode (const bool reuseMode) noexcept(false)
 
void setTransportFactory (TransportFactory *transportFactory)
 
void setReceiverFactory (ReceiverFactory &receiverFactory)
 
void setCategory (const int category)
 
void close ()
 
virtual void bind () noexcept(false)
 
- Public Member Functions inherited from anna::Mutex
 Mutex (const Mode::_v mode=Mode::Recursive)
 
virtual ~Mutex ()
 
virtual void lock () noexcept(false)
 
virtual void unlock ()
 
bool trylock () noexcept(false)
 
 operator const pthread_mutex_t * () const
 

Additional Inherited Members

- Static Public Member Functions inherited from anna::comm::ClientSocket
static const char * className ()
 
- Static Public Attributes inherited from anna::comm::ClientSocket
static const Millisecond DefaultMaxConnectionDelay
 
static const Millisecond DefaultMaxWriteDelay
 
- Protected Member Functions inherited from anna::comm::ClientSocket
int getBufferSize () const
 
int getReceiveBufferSize () const
 
void getSocketOptions () noexcept(false)
 
Notify::_v receive () noexcept(false)
 
const DataBlockfetch () noexcept(false)
 
void activate (const Status::_v v)
 
void deactivate (const Status::_v v)
 
void deactivate (const int v)
 
virtual int do_connect (const sockaddr *, const int len) noexcept(false)
 
virtual void do_close ()
 
- Protected Member Functions inherited from anna::comm::Socket
 Socket (const Domain::_v domain, const Type::_v type, TransportFactory *transportFactory=NULL)
 
 Socket (const INetAddress &localAddress, const Type::_v type, TransportFactory *transportFactory=NULL)
 
 Socket (const std::string &path, const Type::_v type, TransportFactory *transportFactory=NULL)
 
void open () noexcept(false)
 
virtual int do_bind (const struct sockaddr *, const int) noexcept(false)
 
- Protected Member Functions inherited from anna::Safe
 Safe ()
 
- Static Protected Member Functions inherited from anna::comm::Socket
static const char * asText (const Notify::_v v)
 
- Protected Attributes inherited from anna::comm::ClientSocket
Transporta_transport
 
AccessPoint a_remoteAccessPoint
 
- Protected Attributes inherited from anna::comm::Socket
const Domain::_v a_domain
 
const Type::_v a_type
 
int a_fd
 
AccessPoint a_localAccessPoint
 
bool a_isBound
 
TransportFactorya_transportFactory
 
ReceiverFactorya_receiverFactory
 
int a_category
 

Detailed Description

Esta clase implementa un Socket no orientado a conexion.

Member Enumeration Documentation

◆ Mode

Indica el uso que tendrá este DatagramSocket, si para recibir o para enviar.

Enumerator
ReadOnly 
WriteOnly 
26 { ReadOnly, WriteOnly };
Definition: DatagramSocket.hpp:26
Definition: DatagramSocket.hpp:26

Constructor & Destructor Documentation

◆ DatagramSocket()

anna::comm::DatagramSocket::DatagramSocket ( const Mode  mode,
const INetAddress address,
TransportFactory transportFactory = NULL 
)

Crear un Socket no orientado a conexion de un sólo sentido.

Los datagram socket definidos como Mode ReadOnly tienen que ser asociados al comunicador mediante la invocación al método anna::comm::Communicator::attach.

Los datagram socket definidos como Mode WriteOnly tienen que invocar a al método connect antes de poder ser usados.

Parameters
modeUso que se dará a este DatagramSocket.
addressDirección en la que enviar o recibir mensajes.
transportFactoryFactoria de protocolos de transporte a usar por este sockets.
Warning
La factoria de protocolos debe estar disponible mientras el Socket esta activo.

Member Function Documentation

◆ connect()

void anna::comm::DatagramSocket::connect ( )
virtualnoexcept

Prepara el socket para enviar a la direccion indicada en el constructor.

Reimplemented from anna::comm::ClientSocket.

◆ getMode()

Mode anna::comm::DatagramSocket::getMode ( ) const
inline

Devuelve el modo en que fue instanciado este Socket.

Returns
el modo en que fue instanciado este Socket.
48 { return a_mode; }

◆ isReadOnly()

const bool anna::comm::DatagramSocket::isReadOnly ( ) const
inline

Devuelve true si el socket fue instancia como sólo-lectura.

Returns
true si el socket fue instancia como sólo-lectura.
54 { return a_mode == ReadOnly; }
Definition: DatagramSocket.hpp:26

◆ isWriteOnly()

const bool anna::comm::DatagramSocket::isWriteOnly ( ) const
inline

Devuelve true si el socket fue instancia como sólo-lectura.

Returns
true si el socket fue instancia como sólo-lectura.
60 { return a_mode == WriteOnly; }
Definition: DatagramSocket.hpp:26
Here is the call graph for this function:

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