nl:: Inet:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
Objek class ini merepresentasikan endpoint protokol IP yang tidak dapat dibuat instance.
Ringkasan
Inheritance
Mewarisi dari: nl::Inet::EndPointBasisSubclass yang Dikenal Langsung:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
Jenis publik |
|
---|---|
@8{
|
enum Status dinamis dasar endpoint yang mendasarinya. |
@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
|
Delegasi fungsi penanganan peristiwa error penerimaan endpoint.
|
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 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 kembali.
|
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 sumber dan tujuan lapisan IP LwIP.
|
Jenis publik
@8
@8
Status dinamis dasar endpoint yang mendasarinya.
Objek diinisialisasi dalam status "siap" status, lanjutkan ke "terikat" status setelah mengikat ke alamat antarmuka lokal, kemudian lanjutkan ke "proses" ketika mereka memiliki kelanjutan yang terdaftar untuk menangani peristiwa untuk menerima pesan ICMP.
Catatan: Enumerasi status kBasisState_Closed
dipetakan ke kState_Ready
untuk alasan kompatibilitas biner historis. kState_Closed
yang ada dibuat untuk mengidentifikasi secara terpisah perbedaan antara "belum dibuka" dan "sebelumnya dibuka
sekarang tutup" yang sudah ada sebelumnya di status kState_Ready
dan kState_Closed
.
Properti | |
---|---|
kState_Bound
|
Endpoint terikat, tetapi tidak memproses. |
kState_Closed
|
Endpoint ditutup, siap untuk dirilis. |
kState_Listening
|
Endpoint yang menerima datagram. |
kState_Ready
|
Endpoint diinisialisasi, tetapi tidak terbuka. |
@9
@9
Mengirimkan tanda opsi untuk metode SendMsg
.
Properti | |
---|---|
kSendFlag_RetainBuffer
|
Jangan mengantrekan pesan secara destruktif secara langsung. Antrean 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 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
Delegasi fungsi penanganan peristiwa error penerimaan endpoint.
mState
enum nl::Inet::IPEndPointBasis::@8 mState
Status dinamis dasar endpoint yang mendasarinya.
Objek diinisialisasi dalam status "siap" status, lanjutkan ke "terikat" status setelah mengikat ke alamat antarmuka lokal, kemudian lanjutkan ke "proses" ketika mereka memiliki kelanjutan yang terdaftar untuk menangani peristiwa untuk menerima pesan ICMP.
Catatan: Enumerasi status kBasisState_Closed
dipetakan ke kState_Ready
untuk alasan kompatibilitas biner historis. kState_Closed
yang ada dibuat untuk mengidentifikasi secara terpisah perbedaan antara "belum dibuka" dan "sebelumnya dibuka
sekarang tutup" yang sudah ada sebelumnya di 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.
Menggabungkan endpoint ke grup multicast yang disediakan pada antarmuka yang ditentukan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
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 yang Ditampilkan |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
Menetapkan apakah traffic multicast IP harus di-loop kembali.
Tetapkan apakah traffic multicast IP harus di-loop kembali ke endpoint ini.
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 )
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 sumber dan tujuan lapisan IP LwIP.
Saat menggunakan LwIP, informasi tentang paket itu 'tersembunyi' di ruang yang disediakan sebelum dimulainya data dalam {i>buffer<i} paket. 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 |
petunjuk ke informasi alamat
tentang keberhasilan; jika tidak, NULL jika tidak ada cukup ruang pada paket untuk informasi alamat.
|
Dalam kebanyakan kasus, trik penyimpanan 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), ada kemungkinan tidak tersedia cukup ruang untuk menyimpan struktur beserta payload dalam satu buffer paket. Dalam praktiknya, ini hanya terjadi untuk paket IPv4 yang sangat besar yang tiba tanpa {i>header <i}Eternet.