34#define CLAW_RATE_MAX_TOOLS (16)
claw_cb_state_t
Definition claw_safety.h:62
@ CLAW_CB_HALFOPEN
Definition claw_safety.h:65
@ CLAW_CB_CLOSED
Definition claw_safety.h:63
@ CLAW_CB_OPEN
Definition claw_safety.h:64
claw_trust_level_t
Definition claw_safety.h:23
@ CLAW_TRUST_USB
Definition claw_safety.h:24
@ CLAW_TRUST_NONE
Definition claw_safety.h:26
@ CLAW_TRUST_HTTPS
Definition claw_safety.h:25
uint32_t claw_cb_cooldown_remaining(void)
จำนวนมิลลิวินาทีที่เหลือใน cooldown ขณะ breaker เปิดวงจร; เป็น 0 เมื่อไม่ได้อยู่ใน cooldown
void claw_rate_init(void)
ล้างตารางหน้าต่างเลื่อนประจำแต่ละ tool; เรียกเพียงครั้งเดียวผ่าน bentoclaw_ensure_init() เท่านั้น
bool claw_rate_check(const char *tool_name)
gate ที่สาม: tool นั้นยังอยู่ใต้ค่าจำกัดต่อนาทีหรือไม่ การตรวจไม่กินโควตา
void claw_cb_failure(void)
บันทึกความล้มเหลวก่อนการ raise ที่ไม่คืนการทำงานกลับมา; breaker จะเปิดวงจรเมื่อครบ 3 ครั้ง
void claw_trust_set(claw_trust_level_t level)
ตั้งระดับ trust ของ transport; การยกระดับเป็น HTTPS ทุกครั้งจับคู่กับการตั้งกลับเป็น USB
void claw_cb_init(void)
รีเซ็ต circuit breaker ให้กลับเป็น closed; เรียกเพียงครั้งเดียวผ่าน bentoclaw_ensure_init() เท่านั้น
void claw_rate_set(const char *tool_name, uint16_t max_per_minute)
ติดตั้งค่าจำกัดประจำ tool แทนค่าเริ่มต้น 10 ครั้งต่อนาที
claw_trust_level_t claw_trust_get(void)
ส่วนที่ใช้อ่านสถานะ: ระดับ trust ปัจจุบัน
void claw_rate_record(const char *tool_name)
นับการเรียกหนึ่งครั้งในหน้าต่างปัจจุบัน; ไปถึงได้เฉพาะหลัง gate ทั้งสามผ่านแล้วเท่านั้น
bool claw_trust_allows(uint8_t risk)
gate ที่สอง: ระดับ trust ปัจจุบันยอมรับความเสี่ยงที่ tool ประกาศไว้หรือไม่
bool claw_cb_allow(void)
gate ที่หนึ่งของลำดับที่กำหนดตายตัว: breaker อนุญาตให้ทำงานหรือไม่
void claw_cb_success(void)
บันทึกผลสำเร็จ: รีเซ็ตตัวนับข้อผิดพลาดและทำให้ breaker กลับเป็น closed
claw_cb_state_t claw_cb_state(void)
ส่วนที่ใช้อ่านสถานะ: สถานะปัจจุบันของ breaker (closed / open / half-open)
Definition claw_safety.h:37
uint16_t max_per_minute
Definition claw_safety.h:39
const char * tool_name
Definition claw_safety.h:38
uint16_t call_count
Definition claw_safety.h:40
uint32_t window_start
Definition claw_safety.h:41