nl::Weave::Warm

เนมสเปซนี้มีอินเทอร์เฟซสำหรับ Weave Address and Routing Module ซึ่งเป็นโมดูลแบบพกพาสำหรับการกำหนดค่าที่อยู่ IP และเส้นทาง Weave

สรุป

การแจงนับ

ActionType{
  kActionTypeWiFiHostAddress = (1 << 0),
  kActionTypeThreadHostAddress = (1 << 1),
  kActionTypeThreadThreadAddress = (1 << 2),
  kActionTypeLegacy6LoWPANHostAddress = (1 << 3),
  kActionTypeLegacy6LoWPANThreadAddress = (1 << 4),
  kActionTypeHostRouteThread = (1 << 5),
  kActionTypeThreadAdvertisement = (1 << 6),
  kActionTypeThreadRoute = (1 << 7),
  kActionTypeTunnelHostAddress = (1 << 8),
  kActionTypeTunnelHostRoute = (1 << 9),
  kActionTypeThreadRoutePriority = (1 << 10),
  kActionTypeTunnelServiceRoute = (1 << 11),
  kActionTypeMax = (1 << 16)
}
enum
InitState{
  kInitStateNotInitialized = 0
}
enum
InterfaceState enum
enum ของค่าสถานะอินเทอร์เฟซที่เป็นไปได้
InterfaceType{
  kInterfaceTypeLegacy6LoWPAN = 0,
  kInterfaceTypeThread,
  kInterfaceTypeWiFi,
  kInterfaceTypeTunnel,
  kInterfaceTypeCellular
}
enum
Enum ของประเภทอินเทอร์เฟซที่เป็นไปได้
PlatformActionExecution{
  kPlatformActionExecutionContinue = false,
  kPlatformActionExecutionSuspendForAsynchOpCompletion = true
}
enum
PlatformResult{
  kPlatformResultSuccess = 0,
  kPlatformResultFailure,
  kPlatformResultInProgress
}
enum
enum ของค่าการแสดงผล API ของแพลตฟอร์มที่เป็นไปได้
RoutePriority enum
การแจกแจงลำดับความสำคัญของเส้นทางที่เป็นไปได้เพื่อให้เส้นทางหนึ่งมีลำดับความสำคัญสูงกว่าอีกเส้นทาง
SystemFeatureType{
  kSystemFeatureTypeIsFabricMember = (1 << 0),
  kSystemFeatureTypeWiFiConnected = (1 << 1),
  kSystemFeatureTypeThreadConnected = (1 << 2),
  kSystemFeatureTypeThreadRoutingEnabled = (1 << 3),
  kSystemFeatureTypeBorderRoutingEnabled = (1 << 4),
  kSystemFeatureTypeTunnelInterfaceEnabled = (1 << 5),
  kSystemFeatureTypeTunnelState = (1 << 6),
  kSystemFeatureTypeCellularConnected = (1 << 7),
  kSystemFeatureTypeMax = (1 << 16)
}
enum

Typedef

ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId) Typedef
FlagsType Typedef
uint16_t

ตัวแปร

kGlobalULAPrefixLength = 48
const uint8_t
kLegacy6LoWPANULAAddressPrefixLength = 64
const uint8_t
kThreadULAAddressPrefixLength = 64
const uint8_t
kTunnelAddressPrefixLength = 128
const uint8_t
kWiFiULAAddressPrefixLength = 64
const uint8_t
sFabricStateDelegate
sState

ฟังก์ชัน

BorderRouterStateChange(InterfaceState inState)
void
มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะของฟีเจอร์ Border Router
CellularInterfaceStateChange(InterfaceState inState)
void
มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะของอินเทอร์เฟซเครือข่ายมือถือ
FabricStateChange(InterfaceState inState)
void
ฟังก์ชันที่มีการเรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะของฟีเจอร์ผ้าทอ
GetCurrentActionState(ActionType inAction)
bool
ฟังก์ชันแบบคงที่ที่ส่งคืนสถานะปัจจุบันของการทำงานที่ระบุ
GetFabricState(const WeaveFabricState *& outFabricState)
WARM API สำหรับการรับออบเจ็กต์ FabricState ที่ให้ไว้กับ Warm ระหว่าง Init
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
ฟังก์ชันแบบคงที่ที่รับสถานะปัจจุบันของฟีเจอร์ของระบบ
GetULA(InterfaceType inInterfaceType, Inet::IPAddress & outAddress)
WARM API เพื่อรับ ULA สำหรับประเภทอินเทอร์เฟซที่ระบุ
Init(WeaveFabricState & inFabricState)
WARM API สำหรับทำการเริ่มต้นโมดูลเวลาครั้งเดียว
InvokeActions(void)
void
WARM API ที่งานเฉพาะเรียกใช้เพื่อดำเนินการต่างๆ สำหรับ API ของแพลตฟอร์ม
LegacyHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
หนึ่งในวิธีการดำเนินการ
LegacyThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
วิธีการดำเนินการอย่างใดอย่างหนึ่ง
MakePrefix(const uint64_t & inGlobalID, const uint16_t subnetId, const uint8_t inPrefixLen, Inet::IPPrefix & outPrefix)
void
ยูทิลิตีในการสร้างคำนำหน้า 48 บิตจาก GlobalID
MapAvailabilityToPriority(Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
ฟังก์ชันแบบคงที่ที่แสดงผลการแมปจาก TunnelAvailability ไปยัง RoutePriority
RecordPlatformResult(PlatformResult inResult, ActionType inAction, bool inActionState)
ฟังก์ชันแบบคงที่ที่บันทึกผลลัพธ์ของการเรียกใช้การดำเนินการ API ของแพลตฟอร์ม
ReportActionComplete(PlatformResult inResult)
void
มีการเรียก WARM API เพื่อประกาศว่าการเรียก API แพลตฟอร์มแบบไม่พร้อมกันก่อนหน้านี้เสร็จสมบูรณ์แล้ว
SetCurrentActionState(ActionType inAction, bool inValue)
void
ฟังก์ชันแบบคงที่ที่กำหนดสถานะปัจจุบันของการทำงานที่ระบุ
SetSystemFeatureState(SystemFeatureType inSystemFeature, bool inValue)
bool
ฟังก์ชันแบบคงที่ที่กำหนดสถานะปัจจุบันของฟีเจอร์ของระบบ
ShouldPerformAction(ActionType inAction, FlagsType inNecessarySystemFeatureState, bool & outActivate)
bool
ฟังก์ชันแบบคงที่ซึ่งกำหนดว่าควรดำเนินการที่ระบุหรือไม่
SystemFeatureStateChangeHandler(SystemFeatureType inSystemFeatureType, bool inState)
void
ฟังก์ชันแบบคงที่ที่ตั้งค่าสถานะฟีเจอร์ของระบบและแจ้งให้แพลตฟอร์มทราบว่าสถานะเหตุการณ์มีการเปลี่ยนแปลง
TakeActions(void)
void
ฟังก์ชันแบบคงที่ที่ทดสอบสถานะของการดำเนินการแต่ละรายการและเรียก API ของแพลตฟอร์มเพื่อเปลี่ยนสถานะการดำเนินการหากจำเป็น
ThreadAdvertisementAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
วิธีการดำเนินการอย่างใดอย่างหนึ่ง
ThreadHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
วิธีการดำเนินการอย่างใดอย่างหนึ่ง
ThreadHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
วิธีการดำเนินการอย่างใดอย่างหนึ่ง
ThreadInterfaceStateChange(InterfaceState inState)
void
มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะสำหรับอินเทอร์เฟซเทรด
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
วิธีการดำเนินการอย่างใดอย่างหนึ่ง
ThreadRoutingStateChange(InterfaceState inState)
void
มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะของฟีเจอร์ Thread Routing
ThreadThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
หนึ่งในวิธีการดำเนินการ
ThreadThreadRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
วิธีการดำเนินการอย่างใดอย่างหนึ่ง
TunnelHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
วิธีการดำเนินการอย่างใดอย่างหนึ่ง
TunnelHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
หนึ่งในวิธีการดำเนินการ
TunnelInterfaceStateChange(InterfaceState inState)
void
มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะสำหรับอินเทอร์เฟซ Weave Tunnel
TunnelPriorityStateChange(nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
มีการเรียก WARM API เพื่ออัปเดตลำดับความสำคัญของบริการ Tunnel
TunnelServiceStateChange(InterfaceState inState, nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะสำหรับอินเทอร์เฟซ Weave Tunnel
WiFiHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
หนึ่งในวิธีการดำเนินการ
WiFiInterfaceStateChange(InterfaceState inState)
void
มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะของอินเทอร์เฟซ Wi-Fi

ชั้นเรียน

nl::Weave::Warm::WarmFabricStateDelegate

นี่เป็นคลาสภายในของ WarmCore

โครงสร้าง

nl::Weave::Warm::ActionEntry
nl::Weave::Warm::ModuleState

เนมสเปซ

nl::Weave::Warm::Platform

การแจงนับ

ActionType

 ActionType
พร็อพเพอร์ตี้
kActionTypeHostRouteThread

เพิ่ม | นำเส้นทาง IP สำหรับอินเทอร์เฟซของเทรดบนสแต็ก IP ของโฮสต์ออก

kActionTypeLegacy6LoWPANHostAddress

เพิ่ม | นำที่อยู่ IP สำหรับอินเทอร์เฟซ 6LowPAN เดิมออกจากสแต็ก IP ของโฮสต์

kActionTypeLegacy6LoWPANThreadAddress

เพิ่ม | นำที่อยู่ IP ของอินเทอร์เฟซ 6LowPAN เดิมออกจากสแต็ก IP ของโมดูลเทรด

kActionTypeMax

ไม่เกิน สงวนไว้เพื่อทำเครื่องหมายบิตสูงสุดที่ใช้ได้

kActionTypeThreadAdvertisement

เริ่มต้น | หยุดโฆษณาเส้นทางตามโมดูลเทรด

kActionTypeThreadHostAddress

เพิ่ม | นำที่อยู่ IP ของอินเทอร์เฟซเทรดบนสแต็ก IP ของโฮสต์ออก

kActionTypeThreadRoute

เพิ่ม | นำเส้นทาง IP บนโมดูล Thread สำหรับการรองรับ Border Route ออก

kActionTypeThreadRoutePriority

เปลี่ยนลำดับความสำคัญของเส้นทางเทรดบนโมดูลเทรด

kActionTypeThreadThreadAddress

เพิ่ม | นำที่อยู่ IP ของอินเทอร์เฟซเทรดออกจากสแต็ก IP ของโมดูลเทรด

kActionTypeTunnelHostAddress

เพิ่ม | นำที่อยู่ IP สำหรับ Tunnel Interface ออกจากสแต็ก IP ของโฮสต์

kActionTypeTunnelHostRoute

เพิ่ม | นำเส้นทาง IP สำหรับ Tunnel Interface ออกจากสแต็ก IP ของโฮสต์

kActionTypeTunnelServiceRoute

เพิ่ม | นำเส้นทาง IP 64 บิตสำหรับซับเน็ตของบริการในสแต็ก IP ของโฮสต์ออก

kActionTypeWiFiHostAddress

เพิ่ม | นำที่อยู่ IP ของอินเทอร์เฟซ Wi-Fi ออกจากสแต็ก IP ของโฮสต์

InitState

 InitState
พร็อพเพอร์ตี้
kInitStateNotInitialized

ค่านี้ต้องเป็น 0 เพื่อให้ค่าเริ่มต้นของ mInitState เป็น kInitStateNotInitialized

InterfaceState

 InterfaceState

enum ของค่าสถานะอินเทอร์เฟซที่เป็นไปได้

InterfaceType

 InterfaceType

Enum ของประเภทอินเทอร์เฟซที่เป็นไปได้

พร็อพเพอร์ตี้
kInterfaceTypeCellular

อินเทอร์เฟซเครือข่ายมือถือ

kInterfaceTypeLegacy6LoWPAN

อินเทอร์เฟซการแจ้งเตือนชุดข้อความ

kInterfaceTypeThread

อินเทอร์เฟซของชุดข้อความ

kInterfaceTypeTunnel

อินเทอร์เฟซ Tunnel

kInterfaceTypeWiFi

อินเทอร์เฟซ Wi-Fi

PlatformActionExecution

 PlatformActionExecution
พร็อพเพอร์ตี้
kPlatformActionExecutionContinue

ดำเนินการต่อไป

kPlatformActionExecutionSuspendForAsynchOpCompletion

ระงับการดำเนินการเพื่อให้การดำเนินการแบบไม่พร้อมกันเสร็จสมบูรณ์

PlatformResult

 PlatformResult

enum ของค่าการแสดงผล API ของแพลตฟอร์มที่เป็นไปได้

พร็อพเพอร์ตี้
kPlatformResultFailure

ดำเนินการกับ API ไม่สำเร็จ

kPlatformResultInProgress

กำลังดำเนินการอยู่และจะเสร็จสมบูรณ์แบบไม่พร้อมกัน

kPlatformResultSuccess

API เสร็จสมบูรณ์

RoutePriority

 RoutePriority

การแจกแจงลำดับความสำคัญของเส้นทางที่เป็นไปได้เพื่อให้เส้นทางหนึ่งมีลำดับความสำคัญสูงกว่าอีกเส้นทาง

SystemFeatureType

 SystemFeatureType
พร็อพเพอร์ตี้
kSystemFeatureTypeBorderRoutingEnabled

คุณลักษณะการกำหนดเส้นทางชายแดนของระบบ | ไม่ได้เปิดใช้

kSystemFeatureTypeCellularConnected

IS เครือข่ายมือถือของระบบ | ไม่ได้เชื่อมต่อ

kSystemFeatureTypeIsFabricMember

IS ของโมดูล Weave ของระบบ | ไม่ได้เป็นสมาชิกของผ้า

kSystemFeatureTypeMax

ไม่เกิน สงวนไว้เพื่อทำเครื่องหมายบิตสูงสุดที่ใช้ได้

kSystemFeatureTypeThreadConnected

IS ของอินเทอร์เฟซเทรดของระบบ | ไม่ได้เชื่อมต่อ

kSystemFeatureTypeThreadRoutingEnabled

ฟีเจอร์การกำหนดเส้นทางเทรดของระบบ | ไม่ได้เปิดใช้

kSystemFeatureTypeTunnelInterfaceEnabled

IS ของ Tunnel Interface ของระบบ ไม่ได้เปิดใช้

kSystemFeatureTypeTunnelState

IS ของอุโมงค์ข้อมูลของระบบ | IS ไม่เป็นที่รู้จัก

kSystemFeatureTypeWiFiConnected

อินเทอร์เฟซ Wi-Fi ของระบบคือ | ไม่ได้เชื่อมต่อ

Typedef

ActionFunction

PlatformResult(* ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId)

FlagsType

uint16_t FlagsType

ตัวแปร

kGlobalULAPrefixLength

const uint8_t kGlobalULAPrefixLength = 48

kLegacy6LoWPANULAAddressPrefixLength

const uint8_t kLegacy6LoWPANULAAddressPrefixLength = 64

kThreadULAAddressPrefixLength

const uint8_t kThreadULAAddressPrefixLength = 64

kTunnelAddressPrefixLength

const uint8_t kTunnelAddressPrefixLength = 128

kWiFiULAAddressPrefixLength

const uint8_t kWiFiULAAddressPrefixLength = 64

sFabricStateDelegate

WarmFabricStateDelegate sFabricStateDelegate

sState

ModuleState sState

ฟังก์ชัน

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะของฟีเจอร์ Border Router

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากฟีเจอร์ Border Router ไม่ทำงาน หรือไม่ก็ kInterfaceStateDown

CellularInterfaceStateChange

void CellularInterfaceStateChange(
  InterfaceState inState
)

มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะของอินเทอร์เฟซเครือข่ายมือถือ

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากอินเทอร์เฟซเครือข่ายมือถือปรากฏขึ้น มิเช่นนั้น kInterfaceStateDown

FabricStateChange

void FabricStateChange(
  InterfaceState inState
)

ฟังก์ชันที่มีการเรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะของฟีเจอร์ผ้าทอ

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากระบบเป็นสมาชิกของผ้า Weave หรือไม่เช่นนั้น kInterfaceStateDown

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

ฟังก์ชันแบบคงที่ที่ส่งคืนสถานะปัจจุบันของการทำงานที่ระบุ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการทำงานที่จะค้นหา
การคืนสินค้า
true หากมีการตั้งค่าการทำงานเป็น false หากไม่เป็นเช่นนั้น

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

WARM API สำหรับการรับออบเจ็กต์ FabricState ที่ให้ไว้กับ Warm ระหว่าง Init

รายละเอียด
พารามิเตอร์
[out] outFabricState
ตัวชี้การอ้างอิงไปยังออบเจ็กต์ FabricState
ผลลัพธ์
WEAVE_NO_ERROR
สำเร็จแล้ว
WEAVE_ERROR_INCORRECT_STATE
หากมีการเรียก API นี้ก่อนการเริ่มต้น WARM

GetSystemFeatureState

bool GetSystemFeatureState(
  SystemFeatureType inSystemFeature
)

ฟังก์ชันแบบคงที่ที่รับสถานะปัจจุบันของฟีเจอร์ของระบบ

รายละเอียด
พารามิเตอร์
[in] inSystemFeature
ฟีเจอร์ของระบบเพื่อค้นหา
การคืนสินค้า
true หากเปิดใช้ฟีเจอร์ของระบบ เป็น false หากไม่เป็นเช่นนั้น

GetULA

WEAVE_ERROR GetULA(
  InterfaceType inInterfaceType,
  Inet::IPAddress & outAddress
)

WARM API เพื่อรับ ULA สำหรับประเภทอินเทอร์เฟซที่ระบุ

รายละเอียด
พารามิเตอร์
[in] inInterfaceType
ประเภทอินเทอร์เฟซที่ต้องการใช้กับ ULA
[out] outAddress
ออบเจ็กต์ที่อยู่ที่ใช้เก็บ ULA ที่ได้
ผลลัพธ์
WEAVE_NO_ERROR
สำเร็จแล้ว
WEAVE_ERROR_INCORRECT_STATE
หากมีการเรียก API นี้ในขณะที่ WARM ไม่ได้เป็นสมาชิกของ Fabric
WEAVE_ERROR_INVALID_ARGUMENT
หากมีการเรียก API นี้ด้วยประเภทอินเทอร์เฟซที่ไม่ถูกต้อง

Init

WEAVE_ERROR Init(
  WeaveFabricState & inFabricState
)

WARM API สำหรับทำการเริ่มต้นโมดูลเวลาครั้งเดียว

รายละเอียด
พารามิเตอร์
[in] inFabricState
การอ้างอิงไปยัง WeaveFabricState ที่ถูกต้อง
ผลลัพธ์
WEAVE_NO_ERROR
เมื่อเริ่มต้นสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
เมื่อมีการเรียก Init มากกว่า 1 ครั้ง
other
หรือไม่เช่นนั้นรหัสข้อผิดพลาด
การคืนสินค้า
WEAVE_NO_ERROR สำเร็จ มิฉะนั้นจะมีรหัสข้อผิดพลาด

InvokeActions

void InvokeActions(
  void
)

WARM API ที่งานเฉพาะเรียกใช้เพื่อดำเนินการต่างๆ สำหรับ API ของแพลตฟอร์ม

ค่านี้แสดงถึงจุดแรกเข้าเพื่อดำเนินการต่างๆ ที่จำเป็น ซึ่งจะเป็นไปตามสถานะปัจจุบันของระบบ ตัวอย่างเช่น หากสแต็กเทรดเปลี่ยนจากปิดใช้เป็นเปิดใช้ ฟังก์ชันนี้จะเรียกใช้แพลตฟอร์มที่จำเป็นเพื่อกำหนดที่อยู่โฮสต์ของเทรด ฯลฯ ควรเรียกใช้ฟังก์ชันนี้ด้วยโค้ดของแพลตฟอร์มเพื่อตอบสนองการเรียกใช้ Warm ไปยัง RequestInvokeActions การเรียกใช้ InvokeActions จะทำให้ระบบเรียกใช้ nl::Warm::Platform API อย่างน้อย 1 ครั้ง ดังนั้น นักพัฒนาแอปจึงควรใช้ RequestInvokeActions และการเรียกใช้ InvokeActions() อย่างเหมาะสม ตัวอย่างเช่น การใช้ RequestInvokeActions โพสต์เหตุการณ์ในงานจะเรียกใช้ InvokeActions() เอาไว้ ในทางกลับกัน หากระบบเป็นแบบแยกชุดข้อความเดียว คุณจะใช้ RequestInvokeActions เพื่อเรียกใช้ InvokeActions() โดยตรงได้

LegacyHostAddressAction

PlatformResult LegacyHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าที่อยู่โฮสต์สำหรับอินเทอร์เฟซแบบเดิม

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostAddress()

LegacyThreadAddressAction

PlatformResult LegacyThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าที่อยู่ชุดข้อความสําหรับอินเทอร์เฟซ 6LoWPAN เดิม

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadAddress()

MakePrefix

void MakePrefix(
  const uint64_t & inGlobalID,
  const uint16_t subnetId,
  const uint8_t inPrefixLen,
  Inet::IPPrefix & outPrefix
)

ยูทิลิตีในการสร้างคำนำหน้า 48 บิตจาก GlobalID

รายละเอียด
พารามิเตอร์
[in] inGlobalID
การอ้างอิงไปยัง Weave Global ID
[out] outPrefix
คำนำหน้าที่ต้องการเริ่มต้น

MapAvailabilityToPriority

RoutePriority MapAvailabilityToPriority(
  Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

ฟังก์ชันแบบคงที่ที่แสดงผลการแมปจาก TunnelAvailability ไปยัง RoutePriority

รายละเอียด
พารามิเตอร์
[in] inAvailability
โหมดความพร้อมใช้งานของ Weave Tunnel
การคืนสินค้า
ค่าลำดับความสำคัญที่แมป

RecordPlatformResult

PlatformActionExecution RecordPlatformResult(
  PlatformResult inResult,
  ActionType inAction,
  bool inActionState
)

ฟังก์ชันแบบคงที่ที่บันทึกผลการเรียกการดำเนินการ API ของแพลตฟอร์ม

โมดูลนี้ส่งคำขอเพื่อดำเนินการผ่าน API สำหรับแพลตฟอร์มโดยเฉพาะ จำเป็นต้องใช้ API เพื่อรายงานผลลัพธ์ kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInProgress ของคำขอการดำเนินการนั้น ฟังก์ชันนี้จะบันทึกผลลัพธ์และแสดงผลเป็น "จริง" หากผลลัพธ์อยู่ระหว่างดำเนินการ และการดำเนินการเพิ่มเติมควรล่าช้ากว่าเดิม

รายละเอียด
พารามิเตอร์
[in] inResult
ผลลัพธ์ API ของแพลตฟอร์ม
[in] inAction
การดำเนินการที่ API ของแพลตฟอร์มพยายามดำเนินการ
[in] inActionState
สถานะใหม่ของการดำเนินการ หากผลลัพธ์สำเร็จ
การคืนสินค้า
true ที่ API ของแพลตฟอร์มกำลังประมวลผลคำขอแบบไม่พร้อมกัน หรือไม่เช่นนั้นจะเป็น false

ReportActionComplete

void ReportActionComplete(
  PlatformResult inResult
)

มีการเรียก WARM API เพื่อประกาศว่าการเรียก API แพลตฟอร์มแบบไม่พร้อมกันก่อนหน้านี้เสร็จสมบูรณ์แล้ว

โดยมีสมมติฐานว่า API การดำเนินการของแพลตฟอร์มอาจต้องดำเนินการแบบอะซิงโครนัส หากเป็นเช่นนี้ API ของแพลตฟอร์มจะส่งกลับ kPlatformResultInProgress เมื่อเหตุการณ์นี้เกิดขึ้น ที่อยู่และ Routing Actions จะถูกระงับจนกว่าระบบจะเรียกใช้ ReportActionComplete เพื่อแจ้งว่าการดำเนินการเสร็จสมบูรณ์

รายละเอียด
พารามิเตอร์
[in] inResult
ผลลัพธ์ของการกระทำที่รอดำเนินการ ต้องเป็น {kPlatformผลลัพธ์Success | อย่างใดอย่างหนึ่งต่อไปนี้ kPlatformResultFailure}

SetCurrentActionState

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

ฟังก์ชันแบบคงที่ที่กำหนดสถานะปัจจุบันของการทำงานที่ระบุ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการที่จะเปลี่ยน
[in] inValue
ค่า State ใหม่ที่จะนำไปใช้

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

ฟังก์ชันแบบคงที่ที่กำหนดสถานะปัจจุบันของฟีเจอร์ของระบบ

รายละเอียด
พารามิเตอร์
[in] inSystemFeature
SystemFeature ที่จะตั้งค่า
[in] inValue
ค่า State ใหม่ที่จะนำไปใช้
การคืนสินค้า
"จริง" หากมีการเปลี่ยนแปลงฟีเจอร์ของระบบ หรือเป็นเท็จ

ShouldPerformAction

bool ShouldPerformAction(
  ActionType inAction,
  FlagsType inNecessarySystemFeatureState,
  bool & outActivate
)

ฟังก์ชันแบบคงที่ซึ่งกำหนดว่าควรดำเนินการที่ระบุหรือไม่

ฟังก์ชันนี้จะตรวจสอบเงื่อนไขของแฟล็กสถานะฟีเจอร์ของระบบ และพิจารณาว่าควรเปิดหรือปิดใช้การดำเนินการที่ระบุ จากนั้นฟังก์ชันจะตรวจสอบสถานะปัจจุบันของการทำงาน และหากไม่ได้ตั้งค่าการทำงานเป็นค่าตามที่สถานะของฟีเจอร์ของระบบกำหนดไว้ ฟังก์ชันดังกล่าวจะแสดงผลเป็น true พร้อมกับสถานะการดำเนินการที่ต้องการใน outActivate

รายละเอียด
พารามิเตอร์
[in] inAction
การดำเนินการที่ต้องการค้นหา
[in] inNecessarySystemFeatureState
ธงสถานะที่จำเป็นสำหรับการดำเนินการนี้
[out] outActivate
สถานะที่ต้องการของการดำเนินการ
การคืนสินค้า
true หากการดำเนินการไม่ได้อยู่ในสถานะที่ต้องการในขณะนี้ เป็น false หากไม่เป็นเช่นนั้น

SystemFeatureStateChangeHandler

void SystemFeatureStateChangeHandler(
  SystemFeatureType inSystemFeatureType,
  bool inState
)

ฟังก์ชันแบบคงที่ที่ตั้งค่าสถานะฟีเจอร์ของระบบและแจ้งให้แพลตฟอร์มทราบว่าสถานะเหตุการณ์มีการเปลี่ยนแปลง

เรียกใช้โดย EventStateChange API เพื่อดำเนินการรีแอ็กชันที่จำเป็น

รายละเอียด
พารามิเตอร์
[in] inSystemFeatureType
สถานะที่เปลี่ยนแปลงตาม API ที่เรียกใช้
[in] inState
ค่าใหม่สำหรับรัฐ

TakeActions

void TakeActions(
  void
)

ฟังก์ชันแบบคงที่ที่ทดสอบสถานะของการดำเนินการแต่ละรายการและเรียก API ของแพลตฟอร์มเพื่อเปลี่ยนสถานะการดำเนินการหากจำเป็น

ฟังก์ชันนี้ใช้ ShouldPerformAction() ในการระบุว่าต้องเปลี่ยน/ดำเนินการสถานะการดำเนินการหรือไม่ หาก ShouldPerformAction() คืนค่า true ฟังก์ชันจะเรียก API การดำเนินการที่เหมาะสมเพื่อดำเนินการนั้นเพื่อให้อยู่ในสถานะที่ต้องการ ผลลัพธ์ของการเรียก API การดำเนินการจะส่งไปยัง RecordPlatformResult() และหากฟังก์ชันนั้นแสดงผลเป็น True การดำเนินการของฟังก์ชันนี้จะสิ้นสุดลง

ThreadAdvertisementAction

PlatformResult ThreadAdvertisementAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าสถานะการโฆษณาแบบชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadAdvertisement()

ThreadHostAddressAction

PlatformResult ThreadHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าที่อยู่โฮสต์สำหรับอินเทอร์เฟซของ Thread

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostAddress()

ThreadHostRouteAction

PlatformResult ThreadHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าเส้นทางโฮสต์สำหรับอินเทอร์เฟซของ Thread

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostRoute()

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะสำหรับอินเทอร์เฟซเทรด

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากอินเทอร์เฟซเทรดทำงานหรือไม่เช่นนั้น kInterfaceStateDown

ThreadRoutePriorityAction

PlatformResult ThreadRoutePriorityAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าลำดับความสำคัญของเส้นทางเทรดตามความพร้อมใช้งานของอุโมงค์ข้อมูล

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadRoutePriority()

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะของฟีเจอร์ Thread Routing

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากฟีเจอร์การกำหนดเส้นทางเทรดทำงานหรือไม่เช่นนั้น kInterfaceStateDown

ThreadThreadAddressAction

PlatformResult ThreadThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าที่อยู่ของชุดข้อความสำหรับอินเทอร์เฟซของชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadAddress()

ThreadThreadRouteAction

PlatformResult ThreadThreadRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าเส้นทางเทรดสำหรับสแต็กเทรด

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadRoute()

TunnelHostAddressAction

PlatformResult TunnelHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่า HostAddress สำหรับอินเทอร์เฟซ Tunnel

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostAddress()

TunnelHostRouteAction

PlatformResult TunnelHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่า HostRoute สำหรับอินเทอร์เฟซ Tunnel

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostRoute()

TunnelInterfaceStateChange

void TunnelInterfaceStateChange(
  InterfaceState inState
)

มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะสำหรับอินเทอร์เฟซ Weave Tunnel

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากอินเทอร์เฟซ Weave Tunnel เปิดอยู่ หากไม่มี kInterfaceStateDown

TunnelPriorityStateChange

void TunnelPriorityStateChange(
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

มีการเรียก WARM API เพื่ออัปเดตลำดับความสำคัญของบริการ Tunnel

รายละเอียด
พารามิเตอร์
[in] inAvailability
ค่าใหม่สำหรับสถานะความพร้อมใช้งานของอุโมงค์ข้อมูล

TunnelServiceStateChange

void TunnelServiceStateChange(
  InterfaceState inState,
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะสำหรับอินเทอร์เฟซ Weave Tunnel

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากสร้างบริการ Weave Tunnel หรือไม่เช่นนั้น kInterfaceStateDown
[in] inAvailability
สถานะความพร้อมใช้งานที่จะใช้ในภายหลังในการกำหนดค่าอุโมงค์ข้อมูล

WiFiHostAddressAction

PlatformResult WiFiHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

หนึ่งในวิธีการดำเนินการ

ตั้งค่าที่อยู่โฮสต์สำหรับอินเทอร์เฟซ Wi-Fi

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" ที่ต้องการ == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยัง Weave Global ID หากจำเป็นต้องคำนวณที่อยู่
[in] inInterfaceId
การอ้างอิงไปยังรหัสอินเทอร์เฟซของอุปกรณ์หากจำเป็นต้องคำนวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostAddress()

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

มีการเรียก WARM API เพื่อประกาศการเปลี่ยนแปลงสถานะของอินเทอร์เฟซ Wi-Fi

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากอินเทอร์เฟซ Wi-Fi พร้อมใช้งาน หรือไม่เช่นนั้น kInterfaceStateDown