nl::Inet::InetLayer

#include <src/inet/InetLayer.h>

ซึ่งจะมอบการเข้าถึงบริการอินเทอร์เน็ต ซึ่งรวมถึงตัวจับเวลา, การแปลงระบบชื่อโดเมน (DNS), การส่งเครือข่าย TCP, การส่งเครือข่าย UDP และการส่งเครือข่ายดิบสำหรับเทรดเดียว

สรุป

สำหรับซ็อกเก็ต BSD/POSIX การแจ้งเตือนความพร้อมของกิจกรรมจะจัดการผ่านข้อบ่งชี้ไฟล์และการนำแบบสำรวจ / การเลือกแบบดั้งเดิมไปใช้การปรับแพลตฟอร์ม

สำหรับ LwIP การแจ้งเตือนความพร้อมของกิจกรรมจะจัดการผ่านเหตุการณ์ / ข้อความ และฮุกเฉพาะแพลตฟอร์มและฮุกเฉพาะระบบสำหรับระบบกิจกรรม / ข้อความ

ผู้ผลิตและผู้ทำลาย

InetLayer(void)
นี่คือตัวสร้างเริ่มต้นของ InetLayer

ประเภทสาธารณะ

@5{
  kState_NotInitialized = 0,
  kState_Initialized = 1,
  kState_ShutdownInProgress = 2
}
enum
สถานะปัจจุบันของออบเจ็กต์ InetLayer
DNSResolveCompleteFunct Typedef
DNSResolver::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
จัดการ I/O จากการโทรที่เลือก
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)
ซึ่งเป็น Deinitializer แบบทันที InetLayer ซึ่งควรเรียกใช้ก่อนกำจัดอินสแตนซ์ InetLayer ที่สร้างอินสแตนซ์แล้ว
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

แอตทริบิวต์สาธารณะ

รัฐ

enum nl::Inet::InetLayer::@5 State

สถานะปัจจุบันของออบเจ็กต์ InetLayer

[READ-ONLY] สถานะปัจจุบัน

แอตทริบิวต์สาธารณะแบบคงที่

sInetEventHandlerDelegate

Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate

ฟังก์ชันสาธารณะ

CanEnqueueDroppableEvent

bool CanEnqueueDroppableEvent(
  void
)

CancelResolveHostAddress

void CancelResolveHostAddress(
  DNSResolveCompleteFunct onComplete,
  void *appState
)

ยกเลิกการสอบถาม DNS ที่รอดำเนินการ (สำหรับการเรียกกลับที่เสร็จสมบูรณ์และสถานะแอปพลิเคชัน) ที่อาจยังทำงานอยู่

รายละเอียด
พารามิเตอร์
[in] onComplete
ตัวชี้ไปยังฟังก์ชัน Callback เมื่อคำขอ DNS เสร็จสมบูรณ์
[in] appState
ตัวชี้ไปยังออบเจ็กต์สถานะแอปพลิเคชันที่จะส่งไปยังฟังก์ชัน Callback เป็นอาร์กิวเมนต์

DroppableEventDequeued

void DroppableEventDequeued(
  void
)

GetInterfaceFromAddr

INET_ERROR GetInterfaceFromAddr(
  const IPAddress & addr,
  InterfaceId & intfId
)

รับตัวระบุอินเทอร์เฟซสำหรับที่อยู่ IP ที่ระบุ

หากรับตัวระบุอินเทอร์เฟซไม่ได้ ให้กำหนดเป็น INET_NULL_INTERFACEID

รายละเอียด
พารามิเตอร์
[in] addr
การอ้างอิงออบเจ็กต์ IPAddress
[out] intfId
การอ้างอิงออบเจ็กต์ InterfaceId
การคืนสินค้า
INET_NO_ERROR อย่างไม่มีเงื่อนไข

GetLinkLocalAddr

INET_ERROR GetLinkLocalAddr(
  InterfaceId link,
  IPAddress *llAddr
)

รับที่อยู่ IPv6 ในเครื่องสำหรับลิงก์หรืออินเทอร์เฟซที่ระบุ

รายละเอียด
พารามิเตอร์
[in] link
อินเทอร์เฟซที่มีการขอที่อยู่ IPv6 ในเครื่องสำหรับลิงก์
[out] llAddr
ที่อยู่ IPv6 ในเครื่องของลิงก์สำหรับลิงก์
ผลลัพธ์
INET_ERROR_NOT_IMPLEMENTED
หาก IPv6 ไม่รองรับ
INET_ERROR_BAD_ARGS
หากที่อยู่ภายในของลิงก์เป็น NULL
INET_ERROR_ADDRESS_NOT_FOUND
หากลิงก์ไม่มีการกำหนดค่าที่อยู่ไว้
INET_NO_ERROR
สำเร็จแล้ว

GetPlatformData

void * GetPlatformData(
  void
)

การดำเนินการนี้จะส่งคืนข้อมูลแพลตฟอร์มเฉพาะไคลเอ็นต์ที่กำหนดให้อินสแตนซ์ หากมีการตั้งค่าไว้ก่อนหน้านี้

รายละเอียด
การคืนสินค้า
ข้อมูลแพลตฟอร์มเฉพาะลูกค้า หากมีการตั้งค่าไว้ก่อนหน้านี้ หากไม่เป็นเช่นนั้น NULL

HandleSelectResult

void HandleSelectResult(
  int selectRes,
  fd_set *readfds,
  fd_set *writefds,
  fd_set *exceptfds
)

จัดการ I/O จากการโทรที่เลือก

วิธีนี้จะบันทึกเหตุการณ์ I/O ที่รอดำเนินการในแต่ละปลายทางที่ใช้งานอยู่ แล้วเรียกใช้ฟังก์ชันการจัดการ I/O ที่เกี่ยวข้องสำหรับปลายทางเหล่านั้น

รายละเอียด
พารามิเตอร์
[in] selectRes
ผลลัพธ์มูลค่าของการโทรที่เลือก
[in] readfds
ตัวชี้ไปยังชุดข้อบ่งชี้ไฟล์ที่อ่านแล้ว
[in] writefds
ตัวชี้ไปยังชุดข้อบ่งชี้ไฟล์การเขียน
[in] exceptfds
ตัวชี้ไปยังชุดข้อบ่งชี้ไฟล์ที่มีข้อผิดพลาด

InetLayer

 InetLayer(
  void
)

นี่คือตัวสร้างเริ่มต้นของ InetLayer

ดําเนินการเริ่มต้นการเป็นสมาชิกข้อมูลแบบพื้นฐานบางรายการ แต่เนื่องจาก InetLayer ใช้รูปแบบการออกแบบเริ่มต้นที่ชัดเจน จึงต้องเรียกใช้เมธอด InetLayer::Init ให้เรียบร้อยก่อนที่จะใช้ออบเจ็กต์

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

รายละเอียด
พารามิเตอร์
[in] aSystemLayer
เริ่มต้นอินสแตนซ์ที่จำเป็นของเลเยอร์ระบบ Weave สำเร็จแล้ว
[in] aContext
อาร์กิวเมนต์บริบทที่ไม่บังคับซึ่งจะส่งกลับไปยังผู้เรียกใช้ผ่านฟังก์ชัน Hook เฉพาะแพลตฟอร์ม
ผลลัพธ์
INET_ERROR_INCORRECT_STATE
หาก InetLayer อยู่ในสถานะที่ไม่ถูกต้อง
INET_ERROR_NO_MEMORY
หาก InetLayer ไม่มีทรัพยากรสำหรับคำขอนี้สำหรับตัวจับเวลาใหม่
other
ข้อผิดพลาดเฉพาะแพลตฟอร์มที่ระบุเหตุผลที่เริ่มต้นไม่สําเร็จ
INET_NO_ERROR
สำเร็จแล้ว

InitQueueLimiter

INET_ERROR InitQueueLimiter(
  void
)

MatchLocalIPv6Subnet

bool MatchLocalIPv6Subnet(
  const IPAddress & addr
)

ตรวจสอบว่ามีคำนำหน้าที่ตรงกันระหว่างที่อยู่ IPv6 ที่ระบุและที่อยู่ IPv6 ที่กำหนดค่าไว้ในเครื่องหรือไม่

รายละเอียด
พารามิเตอร์
[in] addr
ที่อยู่ IPv6 ที่จะตรวจสอบการจับคู่คำนำหน้า
การคืนสินค้า
true หากพบการจับคู่ที่สำเร็จ มิฉะนั้นจะเป็น false

NewRawEndPoint

INET_ERROR NewRawEndPoint(
  IPVersion ipVer,
  IPProtocol ipProto,
  RawEndPoint **retEndPoint
)

สร้างออบเจ็กต์ RawEndPoint ใหม่สำหรับเวอร์ชัน IP และโปรโตคอลที่เจาะจง

รายละเอียด
พารามิเตอร์
[in] ipVer
IPv4 หรือ IPv6
[in] ipProto
โปรโตคอลภายในกลุ่ม IP (เช่น ICMPv4 หรือ ICMPv6)
[in,out] retEndPoint
ตัวชี้ไปยังตัวชี้ของออบเจ็กต์ RawEndPoint ซึ่งเป็นพารามิเตอร์การแสดงผลเมื่อการสร้างออบเจ็กต์เสร็จสมบูรณ์ *retEndPoint เป็นค่าว่าง หากสร้างไม่สำเร็จ
ผลลัพธ์
INET_ERROR_INCORRECT_STATE
หากออบเจ็กต์ InetLayer ไม่เริ่มต้น
INET_ERROR_NO_ENDPOINTS
หากพูล InetLayerRawEndPoint เต็มแล้ว จะสร้างปลายทางใหม่ไม่ได้
INET_NO_ERROR
สำเร็จแล้ว

NewTCPEndPoint

INET_ERROR NewTCPEndPoint(
  TCPEndPoint **retEndPoint
)

สร้างออบเจ็กต์ TCPEndPoint ใหม่

รายละเอียด
พารามิเตอร์
[in,out] retEndPoint
ตัวชี้ไปยังตัวชี้ของออบเจ็กต์ TCPEndPoint ซึ่งเป็นพารามิเตอร์การแสดงผลเมื่อการสร้างออบเจ็กต์เสร็จสมบูรณ์ *retEndPoint เป็นค่าว่าง หากสร้างไม่สำเร็จ
ผลลัพธ์
INET_ERROR_INCORRECT_STATE
หากออบเจ็กต์ InetLayer ไม่เริ่มต้น
INET_ERROR_NO_ENDPOINTS
หากพูล InetLayerTCPEndPoint เต็ม จะสร้างปลายทางใหม่ไม่ได้
INET_NO_ERROR
สำเร็จแล้ว

NewTunEndPoint

INET_ERROR NewTunEndPoint(
  TunEndPoint **retEndPoint
)

สร้างออบเจ็กต์ TunEndPoint ใหม่

รายละเอียด
พารามิเตอร์
[in,out] retEndPoint
ตัวชี้ไปยังตัวชี้ของออบเจ็กต์ TunEndPoint ซึ่งเป็นพารามิเตอร์การแสดงผลเมื่อการสร้างออบเจ็กต์เสร็จสมบูรณ์ *retEndPoint เป็นค่าว่าง หากสร้างไม่สำเร็จ
ผลลัพธ์
INET_ERROR_INCORRECT_STATE
หากออบเจ็กต์ InetLayer ไม่เริ่มต้น
INET_ERROR_NO_ENDPOINTS
หากพูล InetLayerTunEndPoint เต็มแล้ว และไม่สามารถสร้างขึ้นมาใหม่ได้
INET_NO_ERROR
สำเร็จแล้ว

NewUDPEndPoint

INET_ERROR NewUDPEndPoint(
  UDPEndPoint **retEndPoint
)

สร้างออบเจ็กต์ UDPEndPoint ใหม่

รายละเอียด
พารามิเตอร์
[in,out] retEndPoint
ตัวชี้ไปยังตัวชี้ของออบเจ็กต์ UDPEndPoint ซึ่งเป็นพารามิเตอร์การแสดงผลเมื่อการสร้างออบเจ็กต์เสร็จสมบูรณ์ *retEndPoint เป็นค่าว่าง หากสร้างไม่สำเร็จ
ผลลัพธ์
INET_ERROR_INCORRECT_STATE
หากออบเจ็กต์ InetLayer ไม่เริ่มต้น
INET_ERROR_NO_ENDPOINTS
หากพูล InetLayerUDPEndPoint เต็ม และสร้างปลายทางใหม่ไม่ได้
INET_NO_ERROR
สำเร็จแล้ว

PrepareSelect

void PrepareSelect(
  int & nfds,
  fd_set *readfds,
  fd_set *writefds,
  fd_set *exceptfds,
  struct timeval & sleepTime
)

เตรียมชุดข้อบ่งชี้ไฟล์ที่จะให้ select() ใช้งาน

รายละเอียด
พารามิเตอร์
[out] nfds
ช่วงของตัวบอกไฟล์ในชุดข้อบ่งชี้ไฟล์
[in] readfds
ตัวชี้ไปยังชุดข้อบ่งชี้ไฟล์ที่อ่านได้
[in] writefds
ตัวชี้ไปยังชุดข้อบ่งชี้ไฟล์ที่เขียนได้
[in] exceptfds
ตัวชี้ไปยังชุดข้อบ่งชี้ไฟล์ที่มีข้อผิดพลาด
[in] sleepTimeTV
ตัวชี้ไปยังโครงสร้างที่ระบุระยะเวลาที่เลือกควรอยู่ในโหมดสลีป

ResolveHostAddress

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t options,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

ดำเนินการแปลงที่อยู่ IP ของชื่อโฮสต์ที่ระบุ

รายละเอียด
พารามิเตอร์
[in] hostName
ตัวชี้ไปยังสตริง C ที่ไม่มีค่า NULL ซึ่งไม่มีค่าสิ้นสุด ซึ่งจะแสดงชื่อโฮสต์ที่จะค้นหา
[in] hostNameLen
ความยาวสตริงของชื่อโฮสต์
[in] options
ค่าจำนวนเต็มที่ควบคุมวิธีการแก้ไขชื่อโฮสต์
                    Value should be one of the address family values from the
                    #DNSOptions enumeration:

                    #kDNSOption_AddrFamily_Any
                    #kDNSOption_AddrFamily_IPv4Only
                    #kDNSOption_AddrFamily_IPv6Only
                    #kDNSOption_AddrFamily_IPv4Preferred
                    #kDNSOption_AddrFamily_IPv6Preferred
[in] maxAddrs
จำนวนที่อยู่สูงสุดที่จะจัดเก็บในตาราง DNS
[in] addrArray
ตัวชี้ไปยังตาราง DNS
[in] onComplete
ตัวชี้ไปยังฟังก์ชัน Callback เมื่อคำขอ DNS เสร็จสมบูรณ์
[in] appState
ตัวชี้ไปยังสถานะของแอปพลิเคชันที่จะส่งไปยัง onComplete เมื่อคำขอ DNS เสร็จสมบูรณ์
ผลลัพธ์
INET_NO_ERROR
หากคำขอ DNS จัดการสำเร็จ
INET_ERROR_NO_MEMORY
หากพูลรีโซลเวอร์เลเยอร์ Inet เต็ม
INET_ERROR_HOST_NAME_TOO_LONG
หากชื่อโฮสต์ที่ขอยาวเกินไป
INET_ERROR_HOST_NOT_FOUND
หากแก้ไขชื่อโฮสต์ของคำขอเป็นที่อยู่ไม่ได้
INET_ERROR_DNS_TRY_AGAIN
หากเนมเซิร์ฟเวอร์แสดงผลตัวบ่งชี้ความล้มเหลวชั่วคราว โปรดลองอีกครั้งในภายหลัง
INET_ERROR_DNS_NO_RECOVERY
หากเนมเซิร์ฟเวอร์แสดงข้อผิดพลาดที่กู้คืนไม่ได้
INET_ERROR_NOT_IMPLEMENTED
หากไม่ได้เปิดใช้การแปลง DNS ในแพลตฟอร์มที่สำคัญ
other
ข้อผิดพลาดของเครือข่ายหรือระบบปฏิบัติการ POSIX แสดงขึ้นจากการใช้งานรีโซลเวอร์ DNS ที่เกี่ยวข้อง

ResolveHostAddress

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

ดำเนินการแปลงที่อยู่ IP ของชื่อโฮสต์ที่ระบุ

รายละเอียด
พารามิเตอร์
[in] hostName
ตัวชี้ไปยังสตริง C ที่ไม่มีค่า NULL ซึ่งไม่มีค่าสิ้นสุด ซึ่งจะแสดงชื่อโฮสต์ที่จะค้นหา
[in] hostNameLen
ความยาวสตริงของชื่อโฮสต์
[in] maxAddrs
จำนวนที่อยู่สูงสุดที่จะจัดเก็บในตาราง DNS
[in] addrArray
ตัวชี้ไปยังตาราง DNS
[in] onComplete
ตัวชี้ไปยังฟังก์ชัน Callback เมื่อคำขอ DNS เสร็จสมบูรณ์
[in] appState
ตัวชี้ไปยังสถานะของแอปพลิเคชันที่จะส่งไปยัง onComplete เมื่อคำขอ DNS เสร็จสมบูรณ์
ผลลัพธ์
INET_NO_ERROR
หากคำขอ DNS จัดการสำเร็จ
INET_ERROR_NO_MEMORY
หากพูลรีโซลเวอร์เลเยอร์ Inet เต็ม
INET_ERROR_HOST_NAME_TOO_LONG
หากชื่อโฮสต์ที่ขอยาวเกินไป
INET_ERROR_HOST_NOT_FOUND
หากแก้ไขชื่อโฮสต์ของคำขอเป็นที่อยู่ไม่ได้
INET_ERROR_DNS_TRY_AGAIN
หากเนมเซิร์ฟเวอร์แสดงผลตัวบ่งชี้ความล้มเหลวชั่วคราว โปรดลองอีกครั้งในภายหลัง
INET_ERROR_DNS_NO_RECOVERY
หากเนมเซิร์ฟเวอร์แสดงข้อผิดพลาดที่กู้คืนไม่ได้
INET_ERROR_NOT_IMPLEMENTED
หากไม่ได้เปิดใช้การแปลง DNS ในแพลตฟอร์มที่สำคัญ
other
ข้อผิดพลาดของเครือข่ายหรือระบบปฏิบัติการ POSIX แสดงขึ้นจากการใช้งานรีโซลเวอร์ DNS ที่เกี่ยวข้อง

ResolveHostAddress

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

ดำเนินการแปลงที่อยู่ IP ของชื่อโฮสต์ที่ระบุ

รายละเอียด
พารามิเตอร์
[in] hostName
ตัวชี้ไปยังสตริง C ที่มีการสิ้นสุดเป็นค่าว่างซึ่งแสดงถึงชื่อโฮสต์ที่จะค้นหา
[in] maxAddrs
จำนวนที่อยู่สูงสุดที่จะจัดเก็บในตาราง DNS
[in] addrArray
ตัวชี้ไปยังตาราง DNS
[in] onComplete
ตัวชี้ไปยังฟังก์ชัน Callback เมื่อคำขอ DNS เสร็จสมบูรณ์
[in] appState
ตัวชี้ไปยังสถานะของแอปพลิเคชันที่จะส่งไปยัง onComplete เมื่อคำขอ DNS เสร็จสมบูรณ์
ผลลัพธ์
INET_NO_ERROR
หากคำขอ DNS จัดการสำเร็จ
INET_ERROR_NO_MEMORY
หากพูลรีโซลเวอร์เลเยอร์ Inet เต็ม
INET_ERROR_HOST_NAME_TOO_LONG
หากชื่อโฮสต์ที่ขอยาวเกินไป
INET_ERROR_HOST_NOT_FOUND
หากแก้ไขชื่อโฮสต์ของคำขอเป็นที่อยู่ไม่ได้
INET_ERROR_DNS_TRY_AGAIN
หากเนมเซิร์ฟเวอร์แสดงผลตัวบ่งชี้ความล้มเหลวชั่วคราว โปรดลองอีกครั้งในภายหลัง
INET_ERROR_DNS_NO_RECOVERY
หากเนมเซิร์ฟเวอร์แสดงข้อผิดพลาดที่กู้คืนไม่ได้
INET_ERROR_NOT_IMPLEMENTED
หากไม่ได้เปิดใช้การแปลง DNS ในแพลตฟอร์มที่สำคัญ
other
ข้อผิดพลาดของเครือข่ายหรือระบบปฏิบัติการ POSIX แสดงขึ้นจากการใช้งานรีโซลเวอร์ DNS ที่เกี่ยวข้อง

SetPlatformData

void SetPlatformData(
  void *aPlatformData
)

การดำเนินการนี้จะกำหนดข้อมูลแพลตฟอร์มเฉพาะลูกค้าที่ระบุไปยังอินสแตนซ์สำหรับดึงข้อมูลในภายหลังโดยแพลตฟอร์มไคลเอ็นต์

รายละเอียด
พารามิเตอร์
[in] aPlatformData
ข้อมูลแพลตฟอร์มเฉพาะลูกค้าที่จะตั้งค่า

ปิดการทำงาน

INET_ERROR Shutdown(
  void
)

ซึ่งเป็น Deinitializer แบบทันที InetLayer ซึ่งควรเรียกใช้ก่อนกำจัดอินสแตนซ์ InetLayer ที่สร้างอินสแตนซ์แล้ว

แพลตฟอร์มอาจเลือกยืนยัน INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS ในส่วนหัวการกำหนดค่าเฉพาะแพลตฟอร์ม และเปิดใช้ Platform::InetLayer::WillShutdown และ Platform::InetLayer::DidShutdown hook เชื่อมโยงเพื่อล้างข้อมูลการปรับแต่งหรือส่วนขยายข้อมูลเฉพาะแพลตฟอร์มกับ 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
)

UpdateSnapshot

void UpdateSnapshot(
  nl::Weave::System::Stats::Snapshot & aSnapshot
)