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::EndPointBasis
Doğrudan Bilinen Alt Sınıflar:
  nl::Inet::RawEndPoint
  nl::Inet::UDPEndPoint

Herkese açık türler

@8{
  kState_Ready = kBasisState_Closed,
  kState_Bound = 1,
  kState_Listening = 2,
  kState_Closed = 3
}
enum
Temel uç noktanın temel dinamik durumu.
@9{
  kSendFlag_RetainBuffer = 0x0040
}
enum
SendMsg yöntemi için seçenek işaretlerini iletin.
OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo) typedef
void(*
Mesaj metnini alma etkinliği işleme işlevinin türü.
OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
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
[in] endPoint
Etkinlikle ilişkilendirilen uç nokta.
[in] msg
İleti metni alındı.
[in] senderAddr
Gönderenin IP adresi.

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
[in] endPoint
Etkinlikle ilişkilendirilen uç nokta.
[in] err
Hatanın nedeni.

Herkese açık özellikler

OnMessageReceived

OnMessageReceivedFunct OnMessageReceived

Uç noktanın mesaj alma etkinliği işleme işlevi yetkisi.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

Uç noktanın hata 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
[in] aInterfaceId
çoklu yayın grubuna eklenecek ağ arayüzü göstergesi
[in] aAddress
arayüzün ekleneceği çoklu yayın grubuna
Değerleri Döndür
INET_NO_ERROR
başarılı: çoklu yayın grubu kaldırıldı
INET_ERROR_UNKNOWN_INTERFACE
bilinmeyen ağ arayüzü, aInterfaceId
INET_ERROR_WRONG_ADDRESS_TYPE
aAddress, kIPAddressType_IPv4 veya kIPAddressType_IPv6 değil ya da çoklu yayın değil
other
başka bir sistem veya platform hatası

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
[in] aInterfaceId
çoklu yayın grubundan kaldırılacak ağ arayüzü göstergesi
[in] aAddress
Çoklu yayın grubunu kullanarak arayüzü
Değerleri Döndür
INET_NO_ERROR
başarılı: çoklu yayın grubu kaldırıldı
INET_ERROR_UNKNOWN_INTERFACE
bilinmeyen ağ arayüzü, aInterfaceId
INET_ERROR_WRONG_ADDRESS_TYPE
aAddress, kIPAddressType_IPv4 veya kIPAddressType_IPv6 değil ya da çoklu yayın değil
other
başka bir sistem veya platform hatası

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
[in] aIPVersion
[in] aLoop
Değerleri Döndür
INET_NO_ERROR
başarılı: çoklu yayın geri döngü davranışı grubu
other
başka bir sistem veya platform hatası

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
[in] aBuffer
IP mesajını içeren paket arabelleği
İ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.