nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
Bu ayar, tek bir ileti dizisi için zamanlayıcılar, Alan Adı Sistemi (DNS) çözünürlüğü, TCP ağ aktarımı, UDP ağ aktarımı ve ham ağ aktarımı dahil olmak üzere internet hizmetlerine erişim sağlar.
Özet
BSD/POSIX Yuvaları için etkinlik hazırlık bildirimi, dosya tanımlayıcılar ve platforma uyum sağlamada geleneksel anket / seçim uygulaması aracılığıyla işlenir.
LwIP'de etkinlik hazırlık bildirimi, etkinlikler / mesajlar ve etkinlik / mesaj sistemi için platforma ve sisteme özgü kancalar aracılığıyla ele alınır.
İnşaat Ustaları ve Yıkıcılar |
|
---|---|
InetLayer(void)
Bu, InetLayer varsayılan oluşturucudur.
|
Herkese açık türler |
|
---|---|
@5{
|
enum InetLayer nesnesinin mevcut durumu. |
DNSResolveCompleteFunct
|
TürDNSResolver::OnResolveCompleteFunct
|
Herkese açık özellikler |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
InetLayer nesnesinin mevcut durumu.
|
Herkese açık statik özellikler |
|
---|---|
sInetEventHandlerDelegate
|
Herkese açık işlevler |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
Etkin olabilecek tüm bekleyen DNS sorgularını (eşleşmeyi tamamlamak için geri çağırma ve başvuru durumu için) iptal edin.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
Belirtilen IP adresi için arayüz tanımlayıcısını alın.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
Belirtilen bağlantı veya arayüz için yerel bağlantı IPv6 adresini alın.
|
GetPlatformData(void)
|
void *
Bu, daha önce ayarlandıysa, örneğe atanmış istemciye özel platform verilerini döndürür.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Seçili görüşmeden G/Ç işlemini gerçekleştirin.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
Bu, InetLayer açık başlatıcıdır.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
Belirtilen IPv6 adresi ile yerel olarak yapılandırılmış herhangi bir IPv6 adresi arasında bir ön ek olup olmadığını kontrol edin.
|
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
|
Belirli bir IP sürümü ve protokol için yeni bir RawEndPoint nesnesi oluşturur.
|
NewTCPEndPoint(TCPEndPoint **retEndPoint)
|
Yeni bir TCPEndPoint nesnesi oluşturur.
|
NewTunEndPoint(TunEndPoint **retEndPoint)
|
Yeni bir TunEndPoint nesnesi oluşturur.
|
NewUDPEndPoint(UDPEndPoint **retEndPoint)
|
Yeni bir UDPEndPoint nesnesi oluşturur.
|
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
|
void
select() için çalışacak dosya açıklayıcı gruplarını hazırlayın. |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
|
SetPlatformData(void *aPlatformData)
|
void
Bu işlem, müşteriye özel belirtilen platform verilerini daha sonra istemci platformu tarafından alınacak şekilde örneğe ayarlar.
|
Shutdown(void)
|
|
SystemLayer(void) const
|
Herkese açık statik işlevler |
|
---|---|
HandleInetLayerEvent(Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument)
|
Weave::System::Error
|
IsDroppableEvent(Weave::System::EventType aType)
|
bool
|
UpdateSnapshot(nl::Weave::System::Stats::Snapshot & aSnapshot)
|
void
|
Herkese açık türler
@5
@5
InetLayer nesnesinin mevcut durumu.
Özellikler | |
---|---|
kState_Initialized
|
Başlatıldı durumu. |
kState_NotInitialized
|
Başlatılmadı durumu. |
kState_ShutdownInProgress
|
Kapatılmanın tetiklendiği durum. |
DNSSolutionCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Herkese açık özellikler
Durum
enum nl::Inet::InetLayer::@5 State
InetLayer nesnesinin mevcut durumu.
[SALT OKUMA] Geçerli durum.
Herkese açık statik özellikler
sInetEventHandlerTemsilcisi
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Herkese açık işlevler
CanEnqueueDroppableEtkinliği
bool CanEnqueueDroppableEvent( void )
çözBarındırıcı Adresini İptal Et
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Etkin olabilecek tüm bekleyen DNS sorgularını (eşleşmeyi tamamlamak için geri çağırma ve başvuru durumu için) iptal edin.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAdder
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
Belirtilen IP adresi için arayüz tanımlayıcısını alın.
Arayüz tanımlayıcısı türetilemiyorsa INET_NULL_INTERFACEID olarak ayarlanır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Koşulsuz bir şekilde INET_NO_ERROR.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Belirtilen bağlantı veya arayüz için yerel bağlantı IPv6 adresini alın.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
GetPlatformData
void * GetPlatformData( void )
Bu, daha önce ayarlandıysa, örneğe atanmış istemciye özel platform verilerini döndürür.
Ayrıntılar | |
---|---|
İadeler |
Daha önce ayarlanmışsa müşteriye özel platform verileri; aksi takdirde BOŞ olacaktır.
|
Herkese Açık Kullanıcı Seçimi
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Seçili görüşmeden G/Ç işlemini gerçekleştirin.
Bu yöntem, her etkin uç nokta için beklemedeki G/Ç etkinliğini kaydeder ve ardından bu uç noktalar için ilgili G/Ç işleme işlevlerini çağırır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
InetLayer
InetLayer( void )
Bu, InetLayer varsayılan oluşturucudur.
Bazı temel veri üyesi başlatma işlemini gerçekleştirir. Ancak, InetLayer açık bir başlatıcı tasarım kalıbını kullandığından, InetLayer::Init yöntemi nesne kullanılmadan önce başarıyla çağrılmalıdır.
Başlangıç
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Bu, InetLayer açık başlatıcıdır.
Inetlayer'ın kullanılabilmesi için önce çağrılması ve başarılı bir şekilde tamamlanması gerekir.
Arayan, platforma özgü herhangi bir kanca işlevi aracılığıyla iletilecek isteğe bağlı bir bağlam bağımsız değişkeni sağlayabilir. LwIP tabanlı uyarlamalar için bu, genellikle InetLayer örneğiyle ilişkilendirilen etkinlik sırasının işaretçisi olur.
Platformlar, platforma özgü yapılandırma başlığında INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS iddiasında bulunabilir ve Platform::InetLayer::WillInit ve Platform::InetLayer::WithInit kancalarını kullanarak platforma özel özelleştirmeleri veya veri uzantılarını InetLayer
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
İnitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Altnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Belirtilen IPv6 adresi ile yerel olarak yapılandırılmış herhangi bir IPv6 adresi arasında bir ön ek olup olmadığını kontrol edin.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
başarılı bir eşleşme bulunursa true (doğru), kullanmıyorsa false (yanlış) olarak ayarlanır.
|
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
Belirli bir IP sürümü ve protokol için yeni bir RawEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Yeni bir TCPEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Yeni bir TunEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
YeniUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Yeni bir UDPEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
ChooseSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
select()
için çalışacak dosya açıklayıcı gruplarını hazırlayın.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
SolutionHostAdresi
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
Döndürülen Değerler |
|
SolutionHostAdresi
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
Döndürülen Değerler |
|
SolutionHostAdresi
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
Döndürülen Değerler |
|
PlatformPlatform Verileri
void SetPlatformData( void *aPlatformData )
Bu işlem, müşteriye özel belirtilen platform verilerini daha sonra istemci platformu tarafından alınacak şekilde örneğe ayarlar.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
Kapat
INET_ERROR Shutdown( void )
Bu, açık InetLayer açık hava temizleyicidir ve örneklenmiş bir InetLayer örneğinin atılmasından önce çağrılmalıdır.
Platformlar, platforma özgü yapılandırma başlığında INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS iddiasında bulunabilir ve Platform::InetLayer::WillShutdown ve Platform::InetLayer::ByShutdown kancalarını kullanarak platforma özgü özelleştirmelerin veya veri uzantılarının InetLayer tarafından temizlenmesini sağlayabilir.
Ayrıntılar | |
---|---|
İadeler |
Başarıyla ilgili INET_NO_ERROR; aksi takdirde, kapatma hatasının nedenini belirten belirli bir hata.
|
Sistem Katmanı
Weave::System::Layer * SystemLayer( void ) const
Herkese açık statik işlevler
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
IsDroppableEtkinliği
bool IsDroppableEvent( Weave::System::EventType aType )