nl::Inet::InetLayer

#include <src/inet/InetLayer.h>

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

สรุป

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

สําหรับ 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)
นี่คือเครื่องมือฆ่าเชื้อโรคอย่างชัดเจนใน 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

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

เหตุการณ์ CanEnqueueDroppableable

bool CanEnqueueDroppableEvent(
  void
)

ยกเลิกResolveHostAddress

void CancelResolveHostAddress(
  DNSResolveCompleteFunct onComplete,
  void *appState
)

ยกเลิกคําขอ DNS คงค้าง (สําหรับการเรียกกลับที่ตรงกันและสถานะแอปพลิเคชัน) ที่อาจมีการใช้งาน

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

อยู่ในเหตุการณ์ DroppableEventDequeque

void DroppableEventDequeued(
  void
)

GetInterfaceFromAddr

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

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

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

รายละเอียด
พารามิเตอร์
[in] addr
การอ้างอิงออบเจ็กต์ IPAddress
[out] intfId
การอ้างอิงถึงออบเจ็กต์รหัสอินเทอร์เฟซ
การคืนสินค้า
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
สําเร็จแล้ว

รับข้อมูลแพลตฟอร์ม

void * GetPlatformData(
  void
)

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

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

ผลลัพธ์

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(
  void
)

นี่เป็นเครื่องมือสร้างเริ่มต้น InetLayer

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

เริ่ม

INET_ERROR Init(
  Weave::System::Layer & aSystemLayer,
  void *aContext
)

นี่คือเงื่อนไขเริ่มต้นอย่างชัดแจ้งของ InetLayer

โดยจะต้องเรียกใช้และเสร็จสมบูรณ์ก่อน จึงจะใช้งาน InetLayer ได้

ผู้โทรอาจให้อาร์กิวเมนต์บริบทซึ่งจะมีการส่งกลับมาผ่านฟังก์ชันของเว็บฮุคเฉพาะแพลตฟอร์ม สําหรับการปรับเปลี่ยนแบบ LwIP ค่านี้มักจะเป็นตัวชี้ไปยังคิวเหตุการณ์ที่เชื่อมโยงกับอินสแตนซ์ InetLayer

แพลตฟอร์มอาจเลือกที่จะยืนยัน INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS ในส่วนหัวของการกําหนดค่าเฉพาะแพลตฟอร์มและเปิดใช้ Platform::InetLayer::WillInit และ Platform::InetLayer::dnInit เพื่อดึงดูดความสนใจในการปรับแต่งเฉพาะแพลตฟอร์มหรือส่วนขยายข้อมูลไปยัง InetLayer

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

ตัวจํากัด InitQueue

INET_ERROR InitQueueLimiter(
  void
)

การจับคู่ซับเน็ต LAN v6

bool MatchLocalIPv6Subnet(
  const IPAddress & addr
)

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

รายละเอียด
พารามิเตอร์
[in] addr
ที่อยู่ IPv6 เพื่อตรวจหาคํานําหน้าคํานําหน้า
การคืนสินค้า
จริง หากพบรายการที่ตรงกันที่สําเร็จ ไม่เช่นนั้นจะเป็น 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 มีค่าเป็น NULL หากสร้างไม่สําเร็จ
แสดงผลค่า
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 มีค่าเป็น NULL หากสร้างไม่สําเร็จ
แสดงผลค่า
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 มีค่าเป็น NULL หากสร้างไม่สําเร็จ
แสดงผลค่า
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 มีค่าเป็น NULL หากสร้างไม่สําเร็จ
แสดงผลค่า
INET_ERROR_INCORRECT_STATE
หากออบเจ็กต์ InetLayer ไม่เริ่มต้น
INET_ERROR_NO_ENDPOINTS
หากสระว่ายน้ํา InetLayerUDPEndPoint เต็มแล้วและสร้างปลายทางใหม่ไม่ได้
INET_NO_ERROR
สําเร็จแล้ว

เตรียมพร้อมเลือก

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
ตัวชี้ไปยังโครงสร้างที่ระบุระยะเวลาที่ควรเลือก

แก้ไขที่อยู่โฮสต์

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
ตัวชี้ไปยังฟังก์ชันเรียกกลับเมื่อคําขอ 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 ที่เกี่ยวข้อง

แก้ไขที่อยู่โฮสต์

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
ตัวชี้ไปยังฟังก์ชันเรียกกลับเมื่อคําขอ 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 ที่เกี่ยวข้อง

แก้ไขที่อยู่โฮสต์

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

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

รายละเอียด
พารามิเตอร์
[in] hostName
ตัวชี้ไปยังสตริง C ที่สิ้นสุดโดย NULL ซึ่งแสดงชื่อโฮสต์ที่จะค้นหา
[in] maxAddrs
จํานวนที่อยู่สูงสุดที่จะจัดเก็บในตาราง DNS
[in] addrArray
ตัวชี้ไปยังตาราง DNS
[in] onComplete
ตัวชี้ไปยังฟังก์ชันเรียกกลับเมื่อคําขอ 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 ที่เกี่ยวข้อง

ข้อมูลแพลตฟอร์ม

void SetPlatformData(
  void *aPlatformData
)

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

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

ปิดการทำงาน

INET_ERROR Shutdown(
  void
)

นี่คือเครื่องมือฆ่าเชื้อโรคอย่างชัดเจนใน InetLayer และควรมีการเรียกใช้ก่อนที่จะทิ้งอินสแตนซ์ InetLayer ที่ผ่านการสร้างอินสแตนซ์

แพลตฟอร์มอาจเลือกที่จะยืนยัน INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS ในส่วนหัวของการกําหนดค่าเฉพาะแพลตฟอร์มและเปิดใช้ Platform::InetLayer::WillShutdown และ Platform::InetLayer::doesShutdown Hook เพื่อล้างการปรับแต่งเฉพาะแพลตฟอร์มหรือส่วนขยายข้อมูลใน InetLayer

รายละเอียด
การคืนสินค้า
INET_NO_ERROR สําเร็จ ไม่เช่นนั้นจะแสดงข้อผิดพลาดที่ระบุซึ่งทําให้ปิดไม่สําเร็จ

ระบบเลเยอร์

Weave::System::Layer * SystemLayer(
  void
) const 

ฟังก์ชันสาธารณะแบบคงที่

เครื่องจัดการเหตุการณ์

Weave::System::Error HandleInetLayerEvent(
  Weave::System::Object & aTarget,
  Weave::System::EventType aEventType,
  uintptr_t aArgument
)

เหตุการณ์ IsDroppable ได้

bool IsDroppableEvent(
  Weave::System::EventType aType
)

อัปเดตสแนปชอต

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