nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
הפעולה הזו מספקת גישה לשירותי אינטרנט, כולל טיימרים, רזולוציית DNS, העברת רשת TCP, תעבורת רשת UDP ותעבורת נתונים גולמית ברשת, עבור שרשור יחיד.
סיכום
בשקעי BSD/POSIX, הודעות לגבי מוּכנוּת לאירועים מטופלות באמצעות מתארי קבצים והטמעה רגילה של סקר / בחירה לפי התאמת הפלטפורמה.
ב-LwIP, הטיפול בהתראות מוּכנוּת לאירועים מתבצע באמצעות אירועים / הודעות וקטעי הוק (hooks) ספציפיים לפלטפורמה ולמערכת עבור מערכת האירועים / ההודעות.
בונים והורסים |
|
---|---|
InetLayer(void)
זהו בנאי ברירת המחדל InetLayer.
|
סוגים ציבוריים |
|
---|---|
@5{
|
טיפוסים בני מנייה (enum) המצב הנוכחי של האובייקט InetLayer. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
מאפיינים ציבוריים |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
המצב הנוכחי של האובייקט InetLayer.
|
מאפיינים סטטיים ציבוריים |
|
---|---|
sInetEventHandlerDelegate
|
תפקידים ציבוריים |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
מבטלים כל שאילתת DNS שטרם טופלה (לצורך השלמת קריאה חוזרת ומצב אפליקציה תואמת) שעשויה להיות עדיין פעילה.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
מקבלים את מזהה הממשק של כתובת ה-IP שצוינה.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
קבלת כתובת ה-IPv6 המקומית של הקישור לקישור או לממשק שצוינו.
|
GetPlatformData(void)
|
void *
הפעולה הזו תחזיר את כל נתוני הפלטפורמה הספציפיים ללקוח שהוקצו למכונה, אם הם הוגדרו קודם לכן.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
טיפול בקלט של קלט/פלט משיחה נבחרת.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
זהו האתחול המפורש של InetLayer.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
בודקים אם יש התאמת קידומת בין כתובת IPv6 שצוינה לבין אחת מכתובות IPv6 שמוגדרות באופן מקומי.
|
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
|
יצירת אובייקט RawEndPoint חדש לפרוטוקול ולגרסת IP ספציפיים.
|
NewTCPEndPoint(TCPEndPoint **retEndPoint)
|
יוצר אובייקט TCPEndPoint חדש.
|
NewTunEndPoint(TunEndPoint **retEndPoint)
|
יוצר אובייקט TunEndPoint חדש.
|
NewUDPEndPoint(UDPEndPoint **retEndPoint)
|
יוצר אובייקט UDPEndPoint חדש.
|
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
|
void
הכנת קבוצות של מתארי קבצים לשימוש ב-
select() . |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
רזולוציה של כתובת IP לשם מארח ספציפי.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
רזולוציה של כתובת IP לשם מארח ספציפי.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
רזולוציה של כתובת IP לשם מארח ספציפי.
|
SetPlatformData(void *aPlatformData)
|
void
הפעולה הזאת מגדירה את נתוני הפלטפורמה הספציפיים ללקוח למכונה לצורך אחזור מאוחר יותר על ידי פלטפורמת הלקוח.
|
Shutdown(void)
|
|
SystemLayer(void) const
|
פונקציות סטטיות ציבוריות |
|
---|---|
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
|
סוגים ציבוריים
@5
@5
המצב הנוכחי של האובייקט InetLayer.
תכונות | |
---|---|
kState_Initialized
|
מצב אתחול. |
kState_NotInitialized
|
מצב לא מאותחל. |
kState_ShutdownInProgress
|
המדינה שבה הופעלה הכיבוי. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
מאפיינים ציבוריים
מאפיינים סטטיים ציבוריים
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
תפקידים ציבוריים
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
מבטלים כל שאילתת DNS שטרם טופלה (לצורך השלמת קריאה חוזרת ומצב אפליקציה תואמת) שעשויה להיות עדיין פעילה.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
מקבלים את מזהה הממשק של כתובת ה-IP שצוינה.
אם לא ניתן לגזור את מזהה הממשק, הוא מוגדר לערך INET_NULL_INTERFACEID.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
INET_NO_ERROR ללא תנאי.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
קבלת כתובת ה-IPv6 המקומית של הקישור לקישור או לממשק שצוינו.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
GetPlatformData
void * GetPlatformData( void )
הפעולה הזו תחזיר את כל נתוני הפלטפורמה הספציפיים ללקוח שהוקצו למכונה, אם הם הוגדרו קודם לכן.
פרטים | |
---|---|
החזרות |
נתוני פלטפורמה ספציפיים ללקוח, אם הוגדרו בעבר. אחרת, הערך יהיה NULL.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
טיפול בקלט של קלט/פלט משיחה נבחרת.
השיטה הזו רושמת את אירוע I/O שבהמתנה בכל נקודת קצה פעילה, ואז מפעילה את פונקציות הטיפול ב-I/O המתאימות לנקודות הקצה האלה.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
InetLayer
InetLayer( void )
זהו בנאי ברירת המחדל InetLayer.
הוא מבצע אתחול בסיסי של חבר נתונים. עם זאת, מכיוון ש-InetLayer פועל לפי דפוס עיצוב מפורש של מאתחל, יש להפעיל בהצלחה את השיטה InetLayer::Init לפני השימוש באובייקט.
הפעלה
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
זהו האתחול המפורש של InetLayer.
יש להפעיל את הרכיב הזה ולהשלים אותו בהצלחה לפני השימוש ב-InetLayer.
מבצע הקריאה החוזרת יכול לספק ארגומנט הקשר אופציונלי שיועבר חזרה באמצעות פונקציות hook שספציפיות לפלטפורמה. בהתאמות שמבוססות על LwIP, בדרך כלל זה יפנה אותך לתור של האירועים שמשויך למכונה InetLayer.
פלטפורמות יכולות לבחור להצהיר על INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS בכותרת התצורה הספציפית לפלטפורמה ולהפעיל את Platform::InetLayer::WillInit ו-Platform::InetLayer::DidInit התקפים כדי להשפיע על התאמות אישיות ספציפיות לפלטפורמה או על תוספי נתונים ל-InetLayer.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
בודקים אם יש התאמת קידומת בין כתובת IPv6 שצוינה לבין אחת מכתובות IPv6 שמוגדרות באופן מקומי.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
'TRUE' אם נמצאה התאמה מוצלחת, אחרת, 'FALSE'.
|
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
יצירת אובייקט RawEndPoint חדש לפרוטוקול ולגרסת IP ספציפיים.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
יוצר אובייקט TCPEndPoint חדש.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
יוצר אובייקט TunEndPoint חדש.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
יוצר אובייקט UDPEndPoint חדש.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
PrepareSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
הכנת קבוצות של מתארי קבצים לשימוש ב-select()
.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
רזולוציה של כתובת IP לשם מארח ספציפי.
פרטים | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||||
ערכים מוחזרים |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
רזולוציה של כתובת IP לשם מארח ספציפי.
פרטים | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||||
ערכים מוחזרים |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
רזולוציה של כתובת IP לשם מארח ספציפי.
פרטים | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||||
ערכים מוחזרים |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
הפעולה הזאת מגדירה את נתוני הפלטפורמה הספציפיים ללקוח למכונה לצורך אחזור מאוחר יותר על ידי פלטפורמת הלקוח.
פרטים | |||
---|---|---|---|
פרמטרים |
|
כיבוי
INET_ERROR Shutdown( void )
זהו הכלי לביטול אתחול מפורש של InetLayer ויש לקרוא לו לפני מחיקת מופע InetLayer שנוצר באמצעות מופע.
פלטפורמות יכולות לבחור להצהיר על INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS בכותרת התצורה הספציפית לפלטפורמה ולהפעיל את Platform::InetLayer::WillShutdown ו-Platform::InetLayer::Diddown הוק כדי למחוק התאמות אישיות או תוספי נתונים ספציפיים לפלטפורמה ל-InetLayer.
פרטים | |
---|---|
החזרות |
INET_NO_ERROR בהצלחה. אחרת, שגיאה ספציפית שמציינת את הסיבה לכישלון של ההשבתה.
|
SystemLayer
Weave::System::Layer * SystemLayer( void ) const
פונקציות סטטיות ציבוריות
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
IsDroppableEvent
bool IsDroppableEvent( Weave::System::EventType aType )