HosrDiretta
Loading...
Searching...
No Matches
ACQUA::UDPV6 Class Reference

UDP IPv6 socket class. More...

#include <UDPV6.hpp>

Inheritance diagram for ACQUA::UDPV6:
ACQUA::Socket ACQUA::EthernetSocket

Public Member Functions

bool open (bool v4v6=false)
 Open Socket (When using RAW Send, call raw_open)
 
bool raw_open ()
 For transmission only; cannot be used as UDP.
 
bool bind (IPAddress &add)
 Bind Socket.
 
bool sendTo (BufferCS_const data, const IPAddress &add, bool retry)
 
bool sendTo (BufferCS_const data, const IPAddress &add)
 
bool receive (Buffer &data, IPAddress &add)
 Receive packet ( blocked )
 
bool receive (Buffer &data)
 Receive packet ( blocked )
 
bool receiveOff (Buffer &data, std::size_t off)
 Receive packet ( blocked )
 
virtual bool send_receive (Array< EthernetBuffer * > &sdata, ACQUA::Clock time, Array< EthernetBuffer * > &rdata, IPAddress *radd, EthernetSocket *rcvsoc)
 Send and receive using EthernetBuffer.
 
virtual bool member (const IPAddress &addme)
 
virtual bool raw_connect (std::uint16_t)
 Set the interface number for RAW transmission.
 
virtual EthernetBufferalloc (std::uint8_t *b, std::int32_t s, bool raw)
 
virtual bool getIfList (EthernetInterfases &adList, bool loop)
 
virtual std::uint32_t get_sendbuffer_listcount ()
 
- Public Member Functions inherited from ACQUA::Socket
 Socket (const Socket &)=delete
 disable copy
 
 Socket (Socket &&)=delete
 disable move
 
 Socket ()
 Constructor.
 
 ~Socket ()
 Destructor.
 
void close ()
 Close the socket.
 
bool shutdown ()
 Shutdown the socket shutdown SHUT_RDWR.
 
bool open (Type type)
 Open the socket.
 
bool is_open () const
 Check if the socket is open.
 
bool is_open_raw (uint16_t)
 Set the interface number for RAW transmission (pcap starts here on Windows)
 
bool setInterface (std::uint32_t)
 set transmission interface (Not recommended
 
bool bindV4 (IPAddress)
 
bool bindV6 (IPAddress &, uint32_t=1000)
 
bool memberV6 (const IPAddress &)
 
bool memberV4 (const IPAddress &)
 
bool memberV4 (const IPAddress &, const IPAddress &)
 
WAIT_CODE acceptV6 (Socket &, IPAddress &, ACQUA::Clock)
 
bool acceptV6 (Socket &, IPAddress &)
 
bool connectV6 (const IPAddress &)
 
bool connectV4 (const IPAddress &)
 
bool sendToV6 (BufferCS_const, bool, void *)
 
bool sendToV6 (Array< EthernetBuffer * >, void *)
 
bool sendToV6 (BufferCS_const, const IPAddress &, bool)
 
bool sendToV4 (BufferCS_const, const IPAddress &, const IPAddress &, bool)
 
bool sendToV4 (BufferCS_const, const IPAddress &, bool)
 
bool sendRAW (BufferCS_const)
 
bool sendRAW (Array< EthernetBuffer * > &)
 
bool sendNoBlock (BufferCS_const, std::size_t, std::size_t &)
 
bool send (BufferCS_const)
 
bool receiveFromV6 (Buffer &, IPAddress &)
 
bool receiveFromV6 (BufferCS, std::size_t &, IPAddress &)
 
bool receiveFromV4 (Buffer &, IPAddress &)
 
bool receiveFromV4 (BufferCS, std::size_t &, IPAddress &)
 
bool receive (BufferCS, std::size_t &)
 
bool receiveOff (BufferCS, std::size_t, std::size_t &)
 
bool receive (Buffer &)
 
bool receiveOff (Buffer &, std::size_t)
 
bool is_V4 () const
 
bool is_V6 () const
 
bool is_TCP () const
 
bool is_UDP () const
 
WAIT_CODE wait ()
 
WAIT_CODE wait (ACQUA::Clock)
 
bool setBlocking (bool)
 
bool getBlocking ()
 
void setRecvTargetSize (std::size_t si)
 
std::size_t getRecvTargetSize ()
 
std::uint16_t get_ifno () const
 
std::uint64_t getDescriptor () const
 
- Public Member Functions inherited from ACQUA::EthernetSocket
virtual bool receive (EthernetBuffer &data, IPAddress &add, Clock wt=Clock())
 
virtual bool receive (EthernetBuffer &data, Clock wt=Clock())
 
virtual bool send (EthernetBuffer *data)
 
bool send_receive (Array< EthernetBuffer * > &sdata, Clock time, EthernetBuffer *rdata, IPAddress *radd=nullptr, EthernetSocket *rcvsoc=nullptr)
 
void setMode (RCV_MODE md)
 

Additional Inherited Members

- Public Types inherited from ACQUA::Socket
enum class  Type {
  IPV4_TCP , IPV4_UDP , IPV6_TCP , IPV6_UDP ,
  IPV6V4_TCP , IPV6V4_UDP , SOCKET_RAW
}
 Socket type.
 
- Public Types inherited from ACQUA::EthernetSocket
enum  RCV_MODE {
  MODE_SLEEP , MODE_BUSY_SHORT , MODE_BUSY_SHORT_IDLE , MODE_BUSY_SHORT_ONEIDLE ,
  MODE_BUSY_FULL , MODE_BUSY_FULL_IDLE , MODE_BUSY_FULL_ONEIDLE
}
 
typedef ArrayStackList< EthernetBuffer *, SendListMax > SendList
 
- Static Public Member Functions inherited from ACQUA::Socket
static bool getMyAddresV4 (EthernetInterfases &)
 
static bool getMyAddresV6 (EthernetInterfases &)
 
static bool getMyLocalAddresV6 (EthernetInterfases &, bool)
 
static std::uint32_t getLoopbackIfno ()
 
- Public Attributes inherited from ACQUA::Socket
int Errcode
 
int bindIfNo
 
- Public Attributes inherited from ACQUA::EthernetSocket
enum ACQUA::EthernetSocket::RCV_MODE Mode
 
- Static Public Attributes inherited from ACQUA::EthernetSocket
static const std::size_t SendListMax =128
 
- Protected Attributes inherited from ACQUA::Socket
AutoStackPointer< 8, UnitType > UnitData
 
Type SocketType
 

Detailed Description

UDP IPv6 socket class.

Member Function Documentation

◆ alloc()

virtual EthernetBuffer * ACQUA::UDPV6::alloc ( std::uint8_t * b,
std::int32_t s,
bool raw )
virtual

Implements ACQUA::EthernetSocket.

◆ get_sendbuffer_listcount()

virtual std::uint32_t ACQUA::UDPV6::get_sendbuffer_listcount ( )
virtual

Implements ACQUA::EthernetSocket.

◆ getIfList()

virtual bool ACQUA::UDPV6::getIfList ( EthernetInterfases & adList,
bool loop )
virtual

Implements ACQUA::EthernetSocket.

◆ member()

virtual bool ACQUA::UDPV6::member ( const IPAddress & addme)
virtual

Implements ACQUA::EthernetSocket.

◆ open()

bool ACQUA::UDPV6::open ( bool v4v6 = false)
inline

Open Socket (When using RAW Send, call raw_open)

Parameters
v4v6true:IPv4/IPv6 dual stack , false:IPv6 only

◆ raw_connect()

virtual bool ACQUA::UDPV6::raw_connect ( std::uint16_t )
virtual

Set the interface number for RAW transmission.

Parameters
uint16_tInterface number

Reimplemented from ACQUA::EthernetSocket.

◆ receive() [1/2]

bool ACQUA::UDPV6::receive ( Buffer & data)
inline

Receive packet ( blocked )

Parameters
dataBuffer to store received data

◆ receive() [2/2]

bool ACQUA::UDPV6::receive ( Buffer & data,
IPAddress & add )
inline

Receive packet ( blocked )

Parameters
dataBuffer to store received data
addSource IP address

◆ receiveOff()

bool ACQUA::UDPV6::receiveOff ( Buffer & data,
std::size_t off )
inline

Receive packet ( blocked )

Parameters
dataBuffer to store received data
offOffset to start storing data

◆ send_receive()

virtual bool ACQUA::UDPV6::send_receive ( Array< EthernetBuffer * > & sdata,
ACQUA::Clock time,
Array< EthernetBuffer * > & rdata,
IPAddress * radd,
EthernetSocket * rcvsoc )
virtual

Send and receive using EthernetBuffer.

Implements ACQUA::EthernetSocket.


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