nl:: Inet:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
Objek class ini mewakili endpoint protokol IP yang tidak dapat dibuat instance.
Ringkasan
Warisan
Mewarisi dari: nl::Inet::EndPointBasisSubclass Langsung yang Diketahui:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
Jenis publik |
|
---|---|
@8{
|
enum Status dinamis dasar endpoint yang mendasarinya. |
@9{
|
enum Mengirim flag 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.
|
mState
|
enum nl::Inet::IPEndPointBasis::@8
Status dinamis dasar endpoint yang mendasarinya.
|
Atribut yang dilindungi |
|
---|---|
mBoundIntfId
|
InterfaceId
|
Fungsi publik |
|
---|---|
JoinMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
Bergabung dengan grup IP multicast.
|
LeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
Keluar dari grup multicast IP.
|
SetMulticastLoopback(IPVersion aIPVersion, bool aLoopback)
|
Menetapkan apakah traffic multicast IP harus diulang.
|
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 sumber lapisan IP LwIP dan informasi alamat tujuan.
|
Jenis publik
@8
@8
Status dinamis dasar endpoint yang mendasarinya.
Objek diinisialisasi dalam status "ready" lanjutkan ke status "terikat" setelah mengikat ke alamat antarmuka lokal, lalu lanjutkan ke status "mendengarkan" saat objek tersebut telah terdaftar terdaftar untuk menangani peristiwa 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 "sebelumnya dibuka
sekarang ditutup" yang ada sebelumnya di status kState_Ready
dan kState_Closed
.
Properti | |
---|---|
kState_Bound
|
Endpoint terikat, tetapi tidak memprosesnya. |
kState_Closed
|
Endpoint ditutup, siap untuk dirilis. |
kState_Listening
|
Endpoint yang menerima datagram. |
kState_Ready
|
Endpoint diinisialisasi, tetapi tidak terbuka. |
@9
@9
Mengirim flag opsi untuk metode SendMsg
.
Properti | |
---|---|
kSendFlag_RetainBuffer
|
Jangan mengantrekan pesan secara langsung secara destruktif. Mengantrekan salinan. |
OnMessageReceivedFunct
void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
Jenis fungsi penanganan peristiwa penerimaan teks pesan.
Berikan fungsi jenis ini kepada anggota delegasi OnMessageReceived
untuk memproses peristiwa penerimaan teks pesan di endPoint
dengan msg
adalah 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 pada 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.
Negara Bagian
enum nl::Inet::IPEndPointBasis::@8 mState
Status dinamis dasar endpoint yang mendasarinya.
Objek diinisialisasi dalam status "ready" lanjutkan ke status "terikat" setelah mengikat ke alamat antarmuka lokal, lalu lanjutkan ke status "mendengarkan" saat objek tersebut telah terdaftar terdaftar untuk menangani peristiwa 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 "sebelumnya dibuka
sekarang ditutup" yang ada sebelumnya di status kState_Ready
dan kState_Closed
.
Atribut yang dilindungi
mBoundIntfId
InterfaceId mBoundIntfId
Fungsi publik
Bergabung dengan Grup Multicast
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Bergabung dengan grup IP multicast.
Menggabungkan endpoint ke grup multicast yang disediakan di antarmuka yang ditentukan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
Keluar dari Grup Multicast
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Keluar dari grup multicast IP.
Menghapus endpoint dari grup multicast yang disediakan di antarmuka yang ditentukan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
Menetapkan apakah traffic multicast IP harus diulang.
Setel apakah traffic multicast IP harus di-loop kembali ke endpoint ini atau tidak.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai yang Ditampilkan |
|
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 )
Init
void Init( InetLayer *aInetLayer )
PersiapanIO
SocketEvents PrepareIO( void )
KirimPesan
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
InfoGetPacket
IPPacketInfo * GetPacketInfo( Weave::System::PacketBuffer *buf )
Mendapatkan sumber lapisan IP LwIP dan informasi alamat tujuan.
Saat menggunakan informasi LwIP tentang paket, ada 'tersembunyi' di ruang yang dicadangkan sebelum dimulainya data dalam 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 |
|
||
Menampilkan |
pointer ke informasi alamat jika berhasil; jika tidak, NULL jika tidak ada cukup ruang dalam paket untuk informasi alamat.
|
Biasanya, trik menyimpan informasi sebelum data 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), tidak mungkin ada cukup ruang untuk menyimpan struktur bersama dengan payload dalam satu buffer paket. Dalam praktiknya, hal ini hanya terjadi pada paket IPv4 berukuran sangat besar yang masuk tanpa header Ethernet.