nl:: Inet:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
Objek di class ini mewakili endpoint protokol IP yang tidak dapat dibuat instance-nya.
Ringkasan
Inheritance
Mewarisi dari: nl::Inet::EndPointBasisSubclass Langsung yang Diketahui:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
Jenis publik |
|
---|---|
@8{
|
enum Status dinamis dasar endpoint yang mendasari. |
@9{
|
enum Mengirimkan tanda opsi untuk metode SendMsg . |
OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Jenis fungsi penanganan peristiwa penerimaan teks pesan. |
OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Jenis fungsi penanganan peristiwa error penerimaan. |
Atribut publik |
|
---|---|
OnMessageReceived
|
Delegasi fungsi penanganan peristiwa penerimaan pesan endpoint.
|
OnReceiveError
|
Endpoint menerima delegasi fungsi penanganan peristiwa error dari endpoint.
|
mState
|
enum nl::Inet::IPEndPointBasis::@8
Status dinamis dasar endpoint yang mendasari.
|
Atribut yang dilindungi |
|
---|---|
mBoundIntfId
|
InterfaceId
|
Fungsi publik |
|
---|---|
JoinMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
Bergabung dengan grup multicast IP.
|
LeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
Keluar dari grup multicast IP.
|
SetMulticastLoopback(IPVersion aIPVersion, bool aLoopback)
|
Menetapkan apakah traffic multicast IP harus di-loop back.
|
Fungsi yang dilindungi |
|
---|---|
Bind(IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId)
|
|
BindInterface(IPAddressType aAddressType, InterfaceId aInterfaceId)
|
|
GetSocket(IPAddressType aAddressType, int aType, int aProtocol)
|
|
HandleDataReceived(Weave::System::PacketBuffer *aBuffer)
|
void
|
HandlePendingIO(uint16_t aPort)
|
void
|
Init(InetLayer *aInetLayer)
|
void
|
PrepareIO(void)
|
|
SendMsg(const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags)
|
Fungsi statis publik |
|
---|---|
FindNetifFromInterfaceId(InterfaceId aInterfaceId)
|
struct netif *
|
Fungsi statis yang dilindungi |
|
---|---|
GetPacketInfo(Weave::System::PacketBuffer *buf)
|
Mendapatkan informasi pengalamatan tujuan dan sumber lapisan IP LwIP.
|
Jenis publik
@8
@8
Status dinamis dasar endpoint yang mendasari.
Objek diinisialisasi dalam status "siap", dilanjutkan ke status "terikat" setelah mengikat ke alamat antarmuka lokal, lalu dilanjutkan ke status "mendengarkan" bila objek memiliki kelanjutan yang terdaftar untuk menangani peristiwa untuk penerimaan pesan ICMP.
Catatan:Enumerasi status kBasisState_Closed
dipetakan ke kState_Ready
untuk alasan kompatibilitas biner historis. kState_Closed
yang ada ada untuk mengidentifikasi secara terpisah perbedaan antara "belum dibuka" dan "yang sebelumnya dibuka sekarang ditutup" yang ada sebelumnya dalam status kState_Ready
dan kState_Closed
.
Properti | |
---|---|
kState_Bound
|
Endpoint terikat, tetapi tidak merespons. |
kState_Closed
|
Endpoint ditutup, siap dirilis. |
kState_Listening
|
Endpoint menerima datagram. |
kState_Ready
|
Endpoint diinisialisasi, tetapi tidak terbuka. |
@9
@9
Mengirimkan tanda opsi untuk metode SendMsg
.
Properti | |
---|---|
kSendFlag_RetainBuffer
|
Jangan mengantrekan pesan secara langsung yang bersifat destruktif. Mengantrekan salinan. |
OnMessageReceivedFunct
void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
Jenis fungsi penanganan peristiwa penerimaan teks pesan.
Sediakan fungsi jenis ini kepada anggota delegasi OnMessageReceived
untuk memproses peristiwa penerimaan teks pesan di endPoint
dengan msg
sebagai teks pesan yang diterima dari pengirim di senderAddr
.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
OnReceiveErrorFunct
void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
Jenis fungsi penanganan peristiwa error penerimaan.
Berikan fungsi jenis ini kepada anggota delegasi OnReceiveError
untuk memproses peristiwa error penerimaan di endPoint
. Argumen err
memberikan detail spesifik tentang jenis error.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
Atribut publik
OnMessageReceived
OnMessageReceivedFunct OnMessageReceived
Delegasi fungsi penanganan peristiwa penerimaan pesan endpoint.
OnReceiveError
OnReceiveErrorFunct OnReceiveError
Endpoint menerima delegasi fungsi penanganan peristiwa error dari endpoint.
mState
enum nl::Inet::IPEndPointBasis::@8 mState
Status dinamis dasar endpoint yang mendasari.
Objek diinisialisasi dalam status "siap", dilanjutkan ke status "terikat" setelah mengikat ke alamat antarmuka lokal, lalu dilanjutkan ke status "mendengarkan" bila objek memiliki kelanjutan yang terdaftar untuk menangani peristiwa untuk penerimaan pesan ICMP.
Catatan:Enumerasi status kBasisState_Closed
dipetakan ke kState_Ready
untuk alasan kompatibilitas biner historis. kState_Closed
yang ada ada untuk mengidentifikasi secara terpisah perbedaan antara "belum dibuka" dan "yang sebelumnya dibuka sekarang ditutup" yang ada sebelumnya dalam status kState_Ready
dan kState_Closed
.
Atribut yang dilindungi
mBoundIntfId
InterfaceId mBoundIntfId
Fungsi publik
JoinMulticastGroup
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Bergabung dengan grup multicast IP.
Gabungkan endpoint ke grup multicast yang disediakan pada antarmuka yang ditentukan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai Pengembalian |
|
LeaveMulticastGroup
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Keluar dari grup multicast IP.
Menghapus endpoint dari grup multicast yang disediakan pada antarmuka yang ditentukan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai Pengembalian |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
Menetapkan apakah traffic multicast IP harus di-loop back.
Tetapkan apakah traffic multicast IP harus di-loop kembali ke endpoint ini atau tidak.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai Pengembalian |
|
Fungsi yang dilindungi
Ikat
INET_ERROR Bind( IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId )
BindInterface
INET_ERROR BindInterface( IPAddressType aAddressType, InterfaceId aInterfaceId )
GetSocket
INET_ERROR GetSocket( IPAddressType aAddressType, int aType, int aProtocol )
HandleDataReceived
void HandleDataReceived( Weave::System::PacketBuffer *aBuffer )
HandlePendingIO
void HandlePendingIO( uint16_t aPort )
Inisiasi
void Init( InetLayer *aInetLayer )
PrepareIO
SocketEvents PrepareIO( void )
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags )
Fungsi statis publik
FindNetifFromInterfaceId
struct netif * FindNetifFromInterfaceId( InterfaceId aInterfaceId )
Fungsi statis yang dilindungi
GetPacketInfo
IPPacketInfo * GetPacketInfo( Weave::System::PacketBuffer *buf )
Mendapatkan informasi pengalamatan tujuan dan sumber lapisan IP LwIP.
Saat menggunakan LwIP, informasi paket akan 'tersembunyi' di ruang yang dicadangkan sebelum data dimulai di buffer paket. Hal ini diperlukan karena peristiwa lapisan sistem hanya memiliki dua argumen, yang dalam hal ini digunakan untuk menyampaikan pointer ke titik akhir dan pointer ke buffer.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
pointer ke informasi alamat saat berhasil; jika tidak, NULL jika tidak ada cukup ruang dalam paket untuk informasi alamat.
|
Dalam kebanyakan kasus, trik menyimpan informasi sebelum data ini berfungsi karena buffer pertama dalam pesan IP LwIP berisi ruang yang digunakan untuk header Ethernet/IP/UDP. Namun, mengingat ukuran struktur IPPacketInfo saat ini (40 byte), ada kemungkinan tidak ada cukup ruang untuk menyimpan struktur beserta payload dalam satu buffer paket. Dalam praktiknya, hal ini hanya terjadi untuk paket IPv4 yang sangat besar yang tiba tanpa {i>header<i} Eternet.