SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (MTB & µPython)
Loading...
Searching...
No Matches
claw_safety.h File Reference
#include <stdint.h>
#include <stdbool.h>

Go to the source code of this file.

Data Structures

struct  claw_rate_entry_t

Macros

#define CLAW_RATE_MAX_TOOLS   (16)

Enumerations

enum  claw_trust_level_t { CLAW_TRUST_USB = 2 , CLAW_TRUST_HTTPS = 1 , CLAW_TRUST_NONE = 0 }
enum  claw_cb_state_t { CLAW_CB_CLOSED = 0 , CLAW_CB_OPEN = 1 , CLAW_CB_HALFOPEN = 2 }

Functions

void claw_rate_init (void)
 ล้างตารางหน้าต่างเลื่อนประจำแต่ละ tool; เรียกเพียงครั้งเดียวผ่าน bentoclaw_ensure_init() เท่านั้น
bool claw_rate_check (const char *tool_name)
 gate ที่สาม: tool นั้นยังอยู่ใต้ค่าจำกัดต่อนาทีหรือไม่ การตรวจไม่กินโควตา
void claw_rate_record (const char *tool_name)
 นับการเรียกหนึ่งครั้งในหน้าต่างปัจจุบัน; ไปถึงได้เฉพาะหลัง gate ทั้งสามผ่านแล้วเท่านั้น
void claw_rate_set (const char *tool_name, uint16_t max_per_minute)
 ติดตั้งค่าจำกัดประจำ tool แทนค่าเริ่มต้น 10 ครั้งต่อนาที
void claw_cb_init (void)
 รีเซ็ต circuit breaker ให้กลับเป็น closed; เรียกเพียงครั้งเดียวผ่าน bentoclaw_ensure_init() เท่านั้น
bool claw_cb_allow (void)
 gate ที่หนึ่งของลำดับที่กำหนดตายตัว: breaker อนุญาตให้ทำงานหรือไม่
void claw_cb_success (void)
 บันทึกผลสำเร็จ: รีเซ็ตตัวนับข้อผิดพลาดและทำให้ breaker กลับเป็น closed
void claw_cb_failure (void)
 บันทึกความล้มเหลวก่อนการ raise ที่ไม่คืนการทำงานกลับมา; breaker จะเปิดวงจรเมื่อครบ 3 ครั้ง
claw_cb_state_t claw_cb_state (void)
 ส่วนที่ใช้อ่านสถานะ: สถานะปัจจุบันของ breaker (closed / open / half-open)
uint32_t claw_cb_cooldown_remaining (void)
 จำนวนมิลลิวินาทีที่เหลือใน cooldown ขณะ breaker เปิดวงจร; เป็น 0 เมื่อไม่ได้อยู่ใน cooldown
void claw_trust_set (claw_trust_level_t level)
 ตั้งระดับ trust ของ transport; การยกระดับเป็น HTTPS ทุกครั้งจับคู่กับการตั้งกลับเป็น USB
claw_trust_level_t claw_trust_get (void)
 ส่วนที่ใช้อ่านสถานะ: ระดับ trust ปัจจุบัน
bool claw_trust_allows (uint8_t risk)
 gate ที่สอง: ระดับ trust ปัจจุบันยอมรับความเสี่ยงที่ tool ประกาศไว้หรือไม่

Macro Definition Documentation

◆ CLAW_RATE_MAX_TOOLS

#define CLAW_RATE_MAX_TOOLS   (16)

Enumeration Type Documentation

◆ claw_trust_level_t

Enumerator
CLAW_TRUST_USB 
CLAW_TRUST_HTTPS 
CLAW_TRUST_NONE 

◆ claw_cb_state_t

Enumerator
CLAW_CB_CLOSED 
CLAW_CB_OPEN 
CLAW_CB_HALFOPEN