nl::Weave::Warm

เนมสเปซนี้มีอินเทอร์เฟซสำหรับ Weave Address และ 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
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
ฟังก์ชันที่เรียกให้ประกาศการเปลี่ยนแปลงสถานะสำหรับฟีเจอร์ Weave Fabric
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 เรียกให้ประกาศการเปลี่ยนแปลงสถานะสำหรับฟีเจอร์การกำหนดเส้นทางเทรด
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 ออกจากโมดูลเทรดสำหรับการรองรับ Border Route

kActionTypeThreadRoutePriority

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

kActionTypeThreadThreadAddress

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

kActionTypeTunnelHostAddress

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

kActionTypeTunnelHostRoute

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

kActionTypeTunnelServiceRoute

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

kActionTypeWiFiHostAddress

เพิ่ม | ลบที่อยู่ IP สำหรับอินเทอร์เฟซ WiFi ในสแต็ก 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

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

SystemFeatureType

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

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

kSystemFeatureTypeCellularConnected

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

kSystemFeatureTypeIsFabricMember

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

kSystemFeatureTypeMax

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

kSystemFeatureTypeThreadConnected

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

kSystemFeatureTypeThreadRoutingEnabled

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

kSystemFeatureTypeTunnelInterfaceEnabled

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

kSystemFeatureTypeTunnelState

IS ของบริการอุโมงค์ข้อมูลของระบบ | ยังไม่ได้สร้าง

kSystemFeatureTypeWiFiConnected

IS อินเทอร์เฟซ 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
)

ฟังก์ชันที่เรียกให้ประกาศการเปลี่ยนแปลงสถานะสำหรับฟีเจอร์ Weave Fabric

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

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

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

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

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 นี้ด้วยประเภทอินเทอร์เฟซที่ไม่ถูกต้อง

เริ่มต้น

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

LegacyHostAddressAction

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

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

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

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

LegacyThreadAddressAction

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

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

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

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะที่ต้องการ true == เปิดใช้งาน, false == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยังรหัสส่วนกลางของ Weave หากจำเป็นต้องคำนวณที่อยู่
[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
[out] outPrefix
คำนำหน้าที่จะเริ่มต้น

MapAvailabilityToPriority

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

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

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

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 เมื่อเกิดเหตุการณ์นี้ ที่อยู่ใหม่และการดำเนินการเกี่ยวกับการกำหนดเส้นทางจะถูกระงับจนกว่าระบบจะเรียกใช้ ReportActionComplete เพื่อประกาศว่าการทำงานเสร็จสมบูรณ์

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

SetCurrentActionState

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

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

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

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

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

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

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 ของแพลตฟอร์มเพื่อเปลี่ยนสถานะการดำเนินการ หากจำเป็น

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

ThreadAdvertisementAction

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

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

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

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

ThreadHostAddressAction

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

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

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

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

ThreadHostRouteAction

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

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

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

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

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

WARM API เรียกให้ประกาศการเปลี่ยนแปลงสถานะสำหรับฟีเจอร์การกำหนดเส้นทางเทรด

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

ThreadThreadAddressAction

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

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

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

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

ThreadThreadRouteAction

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

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

ตั้งค่าเส้นทางเทรดสำหรับกลุ่มเทรด

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะที่ต้องการ true == เปิดใช้งาน, false == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยังรหัสส่วนกลางของ Weave หากจำเป็นต้องคำนวณที่อยู่
[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
สถานะที่ต้องการ true == เปิดใช้งาน, false == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยังรหัสส่วนกลางของ Weave หากจำเป็นต้องคำนวณที่อยู่
[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
สถานะที่ต้องการ true == เปิดใช้งาน, false == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงไปยังรหัสส่วนกลางของ Weave หากจำเป็นต้องคำนวณที่อยู่
[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 Service ไว้ จะเป็น kInterfaceStateDown ไม่ได้
[in] inAvailability
สถานะความพร้อมใช้งานที่จะใช้ภายหลังในการกำหนดค่าอุโมงค์ข้อมูล

WiFiHostAddressAction

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

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

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

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

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

WARM API ถูกเรียกให้ประกาศการเปลี่ยนแปลงสถานะสำหรับอินเทอร์เฟซ Wi-Fi

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