nl::Inet::UDPEndPoint

#include <src/inet/UDPEndPoint.h>

Objek dari class ini mewakili endpoint transpor UDP.

Ringkasan

Nest Inet Layer mengenkapsulasi metode untuk berinteraksi dengan endpoint transpor UDP (soket SOCK_DGRAM pada sistem yang berasal dari Linux dan BSD) atau blok kontrol protokol LwIP UDP, sesuai dengan konfigurasi sistem yang sesuai.

Inheritance

Mewarisi dari: nl::Inet::IPEndPointBasis

Fungsi publik

Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
Ikat endpoint ke alamat IP antarmuka.
BindInterface(IPAddressType addrType, InterfaceId intf)
Ikat endpoint ke antarmuka jaringan.
Close(void)
void
Tutup endpoint.
Free(void)
void
Tutup endpoint dan daur ulang memorinya.
GetBoundInterface(void)
InterfaceId
Mendapatkan antarmuka terikat pada endpoint ini.
GetBoundPort(void)
uint16_t
Listen(void)
Siapkan endpoint untuk menerima pesan UDP.
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Mengirim pesan UDP ke tujuan yang ditentukan.
SendTo(IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Sinonim untuk SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags).
SendTo(IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Mengirim pesan UDP ke alamat tujuan yang ditentukan.

Fungsi publik

Ikat

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId
)

Ikat endpoint ke alamat IP antarmuka.

Mengikat endpoint ke alamat IP antarmuka jaringan yang ditentukan.

Detail
Parameter
[in] addrType
versi protokol alamat IP
[in] addr
alamat IP (harus berupa alamat antarmuka)
[in] port
porta UDP
[in] intfId
indikator antarmuka jaringan opsional
Nilai Pengembalian
INET_NO_ERROR
berhasil: endpoint terikat ke alamat
INET_ERROR_INCORRECT_STATE
endpoint telah diikat sebelumnya
INET_NO_MEMORY
memori tidak cukup untuk endpoint
INET_ERROR_UNKNOWN_INTERFACE
Pada beberapa platform, antarmuka yang ditentukan secara opsional tidak ada.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType tidak cocok dengan IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType adalah kIPAddressType_Any, atau jenis addr tidak sama dengan addrType.
other
error sistem atau platform lain

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

Ikat endpoint ke antarmuka jaringan.

Mengikat endpoint ke alamat IP antarmuka jaringan yang ditentukan.

Detail
Parameter
[in] addrType
versi protokol dari alamat IP.
[in] intf
indikator antarmuka jaringan.
Nilai Pengembalian
INET_NO_ERROR
berhasil: endpoint terikat ke alamat
INET_NO_MEMORY
memori tidak cukup untuk endpoint
INET_ERROR_NOT_IMPLEMENTED
implementasi sistem tidak selesai.
INET_ERROR_UNKNOWN_INTERFACE
Pada beberapa platform, antarmuka tidak ada.
other
error sistem atau platform lain

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

Tutup

void Close(
  void
)

Tutup endpoint.

Jika mState != kState_Closed, endpoint akan ditutup, dan menghapusnya dari kumpulan endpoint yang memenuhi syarat untuk peristiwa komunikasi.

Pada sistem LwIP, metode ini tidak boleh dipanggil dengan penguncian stack LwIP yang sudah diperoleh.

Gratis

void Free(
  void
)

Tutup endpoint dan daur ulang memorinya.

Memanggil metode Close, lalu memanggil metode InetLayerBasis::Release untuk menampilkan objek ke kumpulan memorinya.

Pada sistem LwIP, metode ini tidak boleh dipanggil dengan penguncian stack LwIP yang sudah diperoleh.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

Mendapatkan antarmuka terikat pada endpoint ini.

Detail
Hasil
InterfaceId ID antarmuka terikat.

GetBoundPort

uint16_t GetBoundPort(
  void
)

Dengarkan

INET_ERROR Listen(
  void
)

Siapkan endpoint untuk menerima pesan UDP.

Jika State sudah kState_Listening, tidak ada operasi yang akan dijalankan. Jika tidak, mState akan disetel ke kState_Listening dan endpoint disiapkan untuk menerima pesan UDP, sesuai dengan semantik platform.

Detail
Nilai Pengembalian
INET_NO_ERROR
berhasil: endpoint siap menerima pesan.
INET_ERROR_INCORRECT_STATE
endpoint sudah memproses.

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh

SendMsg

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Mengirim pesan UDP ke tujuan yang ditentukan.

 Send the UDP message in \c msg to the destination address and port given in
 \c pktInfo.  If \c pktInfo contains an interface id, the message will be sent
 over the specified interface.  If \c pktInfo contains a source address, the
 given address will be used as the source of the UDP message.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

Detail
Parameter
[in] pktInfo
informasi sumber dan tujuan untuk pesan UDP
[in] msg
{i>buffer<i} paket yang berisi pesan UDP
[in] sendFlags
tanda opsi transmisi opsional
Nilai Pengembalian
INET_NO_ERROR
berhasil: msg dimasukkan ke dalam antrean untuk dikirim.
INET_ERROR_NOT_SUPPORTED
sistem tidak mendukung operasi yang diminta.
INET_ERROR_WRONG_ADDRESS_TYPE
alamat tujuan dan alamat antarmuka terikat tidak memiliki versi protokol atau jenis alamat yang cocok.
INET_ERROR_MESSAGE_TOO_LONG
msg tidak berisi seluruh pesan UDP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Pada beberapa platform, hanya bagian msg yang terpotong yang dimasukkan antrean untuk dikirim.
other
error sistem atau platform lain

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Sinonim untuk SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags).

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Mengirim pesan UDP ke alamat tujuan yang ditentukan.

 If possible, then this method sends the UDP message \c msg to the
 destination \c addr (with \c intfId used as the scope
 identifier for IPv6 link-local destinations) and \c port with the
 transmit option flags encoded in \c sendFlags.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

Detail
Parameter
[in] addr
alamat IP tujuan
[in] port
porta UDP tujuan
[in] intfId
indikator antarmuka jaringan opsional
[in] msg
{i>buffer<i} paket yang berisi pesan UDP
[in] sendFlags
tanda opsi transmisi opsional
Nilai Pengembalian
INET_NO_ERROR
berhasil: msg dimasukkan ke dalam antrean untuk dikirim.
INET_ERROR_NOT_SUPPORTED
sistem tidak mendukung operasi yang diminta.
INET_ERROR_WRONG_ADDRESS_TYPE
alamat tujuan dan alamat antarmuka terikat tidak memiliki versi protokol atau jenis alamat yang cocok.
INET_ERROR_MESSAGE_TOO_LONG
msg tidak berisi seluruh pesan UDP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Pada beberapa platform, hanya bagian msg yang terpotong yang dimasukkan antrean untuk dikirim.
other
error sistem atau platform lain