nl:: Inet:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
Bu sınıfın nesneleri, anlaşılamayan IP protokolü uç noktalarını temsil eder.
Özet
Devralma
Devralındığı kaynak: nl::Inet::EndPointBasisDoğrudan Bilinen Alt Sınıflar:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
Herkese açık türler |
|
---|---|
@8{
|
enum Temel uç noktanın temel dinamik durumu. |
@9{
|
enumSendMsg yöntemi için seçenek işaretlerini iletin. |
OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Mesaj metnini alma etkinliği işleme işlevinin türü. |
OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Alma hatası olay işleme işlevinin türü. |
Herkese açık özellikler |
|
---|---|
OnMessageReceived
|
Uç noktanın mesaj alma etkinliği işleme işlevi yetkisi.
|
OnReceiveError
|
Uç noktanın hata etkinliği işleme işlevi yetkisi.
|
mState
|
enum nl::Inet::IPEndPointBasis::@8
Temel uç noktanın temel dinamik durumu.
|
Korunan özellikler |
|
---|---|
mBoundIntfId
|
InterfaceId
|
Herkese açık işlevler |
|
---|---|
JoinMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
IP çoklu yayın grubuna katılın.
|
LeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
Bir IP çoklu yayın grubundan ayrılın.
|
SetMulticastLoopback(IPVersion aIPVersion, bool aLoopback)
|
IP çok yayın trafiğinin geri döndürülüp döndürülmeyeceğini ayarlayın.
|
Korunan işlevler |
|
---|---|
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)
|
Herkese açık statik işlevler |
|
---|---|
FindNetifFromInterfaceId(InterfaceId aInterfaceId)
|
struct netif *
|
Korunan statik işlevler |
|
---|---|
GetPacketInfo(Weave::System::PacketBuffer *buf)
|
LwIP IP katmanı kaynak ve hedef adresleme bilgilerini alın.
|
Herkese açık türler
@8
@8
Temel uç noktanın temel dinamik durumu.
Nesneler "hazır"da başlatılır eyalet için, "bağlı"ya ilerleyin bir yerel arayüz adresine bağladıktan sonra "dinleme" aşamasına geçin. bu durumu gösterir.
Not: kBasisState_Closed
durumu numaralandırması, geçmiş ikili uyumluluk nedeniyle kState_Ready
ile eşlenmiştir. Mevcut kState_Closed
, "henüz açılmadı" arasındaki farkı ayrı olarak tanımlamak için kullanılır. ve "daha önce açıldı
artık kapalı" daha önce kState_Ready
ve kState_Closed
eyaletlerinde bulunan öğe türleri.
Özellikler | |
---|---|
kState_Bound
|
Uç nokta bağlı ancak dinlenmiyor. |
kState_Closed
|
Uç nokta kapatıldı, yayınlanmaya hazır. |
kState_Listening
|
Uç nokta veri birimleri alıyor. |
kState_Ready
|
Uç nokta başlatıldı ancak açık değil. |
@9
@9
SendMsg
yöntemi için seçenek işaretlerini iletin.
Özellikler | |
---|---|
kSendFlag_RetainBuffer
|
İletileri, zarar verecek şekilde doğrudan sıraya koymayın. Kopyayı sıraya alın. |
OnMessageReceivedFunct
void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
Mesaj metnini alma etkinliği işleme işlevinin türü.
OnMessageReceived
yetki verilmiş üyeye endPoint
üzerinde ileti metni alma etkinliklerini işlemesi için bu tür bir işlev sağlayın. Burada msg
, senderAddr
adresindeki gönderenden alınan ileti metnidir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
OnReceiveErrorFunct
void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
Alma hatası olay işleme işlevinin türü.
OnReceiveError
yetki verilmiş üyeye endPoint
tarihinde alım hatası etkinliklerini işlemesi için bu tür bir işlev sağlayın. err
bağımsız değişkeni, hatanın türüyle ilgili belirli ayrıntıları sağlar.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
Herkese açık özellikler
OnMessageReceived
OnMessageReceivedFunct OnMessageReceived
Uç noktanın mesaj alma etkinliği işleme işlevi yetkisi.
mState
enum nl::Inet::IPEndPointBasis::@8 mState
Temel uç noktanın temel dinamik durumu.
Nesneler "hazır"da başlatılır eyalet için, "bağlı"ya ilerleyin bir yerel arayüz adresine bağladıktan sonra "dinleme" aşamasına geçin. bu durumu gösterir.
Not: kBasisState_Closed
durumu numaralandırması, geçmiş ikili uyumluluk nedeniyle kState_Ready
ile eşlenmiştir. Mevcut kState_Closed
, "henüz açılmadı" arasındaki farkı ayrı olarak tanımlamak için kullanılır. ve "daha önce açıldı
artık kapalı" daha önce kState_Ready
ve kState_Closed
eyaletlerinde bulunan öğe türleri.
Korunan özellikler
mBoundIntfId
InterfaceId mBoundIntfId
Herkese açık işlevler
JoinMulticastGroup
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
IP çoklu yayın grubuna katılın.
Uç noktayı, belirtilen arayüzde sağlanan çoklu yayın grubuna ekleyin.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
LeaveMulticastGroup
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Bir IP çoklu yayın grubundan ayrılın.
Belirtilen arayüzde, sağlanan çoklu yayın grubundan uç noktayı kaldırın.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
IP çok yayın trafiğinin geri döndürülüp döndürülmeyeceğini ayarlayın.
IP çok yayın trafiğinin bu uç noktaya geri döndürülüp döndürülmeyeceğini belirleyin.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Değerleri Döndür |
|
Korunan işlevler
Bağla
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 )
Herkese açık statik işlevler
FindNetifFromInterfaceId
struct netif * FindNetifFromInterfaceId( InterfaceId aInterfaceId )
Korunan statik işlevler
GetPacketInfo
IPPacketInfo * GetPacketInfo( Weave::System::PacketBuffer *buf )
LwIP IP katmanı kaynak ve hedef adresleme bilgilerini alın.
LwIP kullanılırken paket hakkındaki bilgiler "gizli" olduğunda verinin başlangıcından önce ayrılmış alanda bir değer girin. Bu, sistem katmanı etkinliklerinde yalnızca iki bağımsız değişken bulunduğu için gereklidir. Bu bağımsız değişken, işaretçiyi son noktaya ve işaretçiyi arabelleğe aktarmak için kullanılır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
başarıyla ilgili adres bilgilerine işaret eden bir e-postaysa aksi takdirde, pakette adres bilgileri için yeterli alan yoksa NULL değerini alır.
|
Çoğu durumda bu bilgi depolama işinin işe yaramasından önce, bir LwIP IP mesajındaki ilk arabellekte Ethernet/IP/UDP üstbilgileri için kullanılan alan bulunur. Bununla birlikte, IPPacketInfo yapısının mevcut boyutu (40 bayt) düşünüldüğünde, yapıyı yük ile birlikte tek bir paket arabelleğinde depolamak için yeterli alan olmayabilir. Pratikte bu, yalnızca Ethernet başlığı olmadan gelen çok büyük IPv4 paketleri için geçerlidir.