feat: 添加 Python→Go 全双工回调支持(call_go)
- 新增 WithHandlers 选项,通过反射将 Go 结构体方法暴露给 Python - 新增 callback/callback_result 消息类型,支持 Python 在处理中回调 Go - client 侧新增 readResult,内联处理 callback,复用同一连接避免死锁 - Python 侧新增 call_go[T]() 泛型调用,支持 dataclass 自动构造 - 注入 GOBRIDGE_WORKER_ID/WORKER_COUNT 环境变量,支持多 worker 初始化分工 - 新增示例演示 Go→Python→Go→Python 四层全双工链路 - Python 包版本升至 0.1.1
This commit is contained in:
14
protocol.go
14
protocol.go
@@ -4,12 +4,14 @@ import "encoding/json"
|
||||
|
||||
// 消息类型常量
|
||||
const (
|
||||
TypeCall = "call" // Go → Python: 调用请求
|
||||
TypeResult = "result" // Python → Go: 调用结果
|
||||
TypeError = "error" // 双向: 错误响应
|
||||
TypeChunk = "chunk" // 双向: 流数据块
|
||||
TypeEnd = "end" // 双向: 流结束标记
|
||||
TypeCancel = "cancel" // Go → Python: 取消正在执行的调用(ctx 取消时发送)
|
||||
TypeCall = "call" // Go → Python: 调用请求
|
||||
TypeResult = "result" // Python → Go: 调用结果
|
||||
TypeError = "error" // 双向: 错误响应
|
||||
TypeChunk = "chunk" // 双向: 流数据块
|
||||
TypeEnd = "end" // 双向: 流结束标记
|
||||
TypeCancel = "cancel" // Go → Python: 取消正在执行的调用(ctx 取消时发送)
|
||||
TypeCallback = "callback" // Python → Go: 调用 Go 注册方法
|
||||
TypeCallbackResult = "callback_result" // Go → Python: Go 方法调用结果
|
||||
)
|
||||
|
||||
// Message 是 Go 与 Python 之间传输的消息结构
|
||||
|
||||
Reference in New Issue
Block a user