nl:: Inet:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
Bu sınıfın nesneleri, başlatı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 iletim seçeneği işaretleri. |
OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Mesaj metni alma olay işleme işlevinin türü. |
OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Resepsiyon hatası olayı işleme işlevinin türü. |
Herkese açık özellikler |
|
---|---|
OnMessageReceived
|
Uç noktanın mesaj alma etkinlik işleme işlevi temsilcisi.
|
OnReceiveError
|
Uç noktanın hata etkinliği işleme işlevi temsilcisi.
|
mState
|
enum nl::Inet::IPEndPointBasis::@8
Temel uç noktanın temel dinamik durumu.
|
Korunan özellikler |
|
---|---|
mBoundIntfId
|
InterfaceId
|
Kamu işlevleri |
|
---|---|
JoinMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
Bir 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 çoklu yayın trafiğinin tekrar döngüye alınıp alınmayacağını 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 adres bilgilerini alma.
|
Herkese açık türler
@8
@8
Temel uç noktanın temel dinamik durumu.
Nesneler "hazır" durumunda başlatılır, yerel arayüz adresine bağlandıktan sonra "bağlı" durumuna ve ardından ICMP mesajlarının alınması için etkinlikleri işlemek üzere kaydedilen devamlar olduğunda "dinleniyor" durumuna geçin.
Not: kBasisState_Closed
durum sıralaması, geçmişe dönük ikili uyumluluk nedenleri için kState_Ready
ile eşlenir. Mevcut kState_Closed
, daha önce kState_Ready
ve kState_Closed
eyaletlerinde bulunan "henüz açılmadı" ve "daha önce açılmış olan şu anda kapalı" durumları arasındaki ayrımı ayrı olarak tanımlamaktadır.
Özellikler | |
---|---|
kState_Bound
|
Uç nokta bağlandı ancak dinlemiyor. |
kState_Closed
|
Uç nokta kapatıldı, yayınlanmaya hazır. |
kState_Listening
|
Veri kümelerini alan uç nokta. |
kState_Ready
|
Uç nokta başlatıldı, ancak açık değil. |
@9
@9
SendMsg
yöntemi için iletim seçeneği işaretleri.
Özellikler | |
---|---|
kSendFlag_RetainBuffer
|
İletileri yıkıcı bir şekilde doğrudan sıraya koymayın. Bir kopyayı sıraya ekleyin. |
OnMessageReceivedFunct
void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
Mesaj metni alma olay işleme işlevinin türü.
endPoint
ürününde ileti metni alma etkinliklerini işlemesi için OnMessageReceived
yetki verilmiş üyeye bu tür bir işlev sağlayın. Burada msg
, senderAddr
adresine gönderenden alınan ileti metnidir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
OnReceiveErrorFunct
void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
Resepsiyon hatası olayı işleme işlevinin türü.
endPoint
üzerinde alma hatası etkinliklerini işlemesi için OnReceiveError
yetki verilmiş üyesine 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 etkinlik işleme işlevi temsilcisi.
OnReceiveError
OnReceiveErrorFunct OnReceiveError
Uç noktanın hata etkinliği işleme işlevi temsilcisi.
mState
enum nl::Inet::IPEndPointBasis::@8 mState
Temel uç noktanın temel dinamik durumu.
Nesneler "hazır" durumunda başlatılır, yerel arayüz adresine bağlandıktan sonra "bağlı" durumuna ve ardından ICMP mesajlarının alınması için etkinlikleri işlemek üzere kaydedilen devamlar olduğunda "dinleniyor" durumuna geçin.
Not: kBasisState_Closed
durum sıralaması, geçmişe dönük ikili uyumluluk nedenleri için kState_Ready
ile eşlenir. Mevcut kState_Closed
, daha önce kState_Ready
ve kState_Closed
eyaletlerinde bulunan "henüz açılmadı" ve "daha önce açılmış olan şu anda kapalı" durumları arasındaki ayrımı ayrı olarak tanımlamaktadır.
Korunan özellikler
mBoundIntfId
InterfaceId mBoundIntfId
Kamu işlevleri
JoinMulticastGroup
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Bir IP çoklu yayın grubuna katılın.
Uç noktayı, belirtilen arayüzde sağlanan çoklu yayın grubuna ekleyin.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
LeaveMulticastGroup
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Bir IP çoklu yayın grubundan ayrılın.
Uç noktayı, belirtilen arayüzde sağlanan çoklu yayın grubundan kaldırın.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
IP çoklu yayın trafiğinin tekrar döngüye alınıp alınmayacağını ayarlayın.
IP çoklu yayın trafiğinin bu uç noktaya geri döndürülüp döndürülmeyeceğini ayarlayın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
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 )
Başlat
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 adres bilgilerini alma.
Paketle ilgili LwIP kullanılırken, paket arabelleğindeki verilerin başlangıcından önce ayrılan alanda "gizli" olur. Sistem katmanı etkinliklerinde yalnızca iki bağımsız değişken olduğundan bu gereklidir. Bu durumda, işaretçi bitiş noktasına ve işaretçiyi arabelleğe aktarmak için bu bağımsız değişken kullanılır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
işlemin başarılı olduğunu belirten bir işaretçidir. Aksi takdirde, pakette adres bilgileri için yeterli alan yoksa NULL değerine ayarlar.
|
Çoğu durumda, bir LwIP IP mesajındaki ilk arabellek Ethernet/IP/UDP üstbilgileri için kullanılan alanı içerdiğinden, verilerden önce bilgileri depolama hilesi işe yarar. Bununla birlikte, IPPacketInfo yapısının mevcut boyutu (40 bayt) göz önünde bulundurulduğunda, 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.