package port import ( "gitlab.33.cn/link33/sidecar/model/pb" ) // 设计一套port管理机制:包括各种的管理模块。 // 设计一套,管理机制。 // 与中继交互的是单独完整的机制。并且注册到路由表中。或者更加类型,这样就限制一个sidecar最多只能连接一个hub。避免网络风暴。或者只是一个转发功能。转发到指定节点。 // 先是从转发开始完成。 // 协议实现 // 路由策略 // 客户度 // 验证器(上链) // 动力核心引擎:主动发起、主动查询、主动关联数据、存储数据。 // 应答的数据,就原路返回,根据请求路径,原路返回。 // 与hub交互一端的数据,需要记录数据。而与appchain 交互的数据也需要存储下来。 // 代表每一个路由端点 // 对router来说,只需要体现两个作用:1、did 唯一标识,2:接受一个ibtp数据函数。Send、recive(不对外开放) // client 可是代表是sdk rpc 这些东西。 // 是否要做一个管理层,管理整个port.以及plugin。 // Port type Port interface { ID() string Type() string Name() string Tag() string // Send 同步发送给绑定的对应的port dev Send(msg *pb.Message) (*pb.Message, error) // AsyncSend 异步发送给绑定的对应的port dev AsyncSend(msg *pb.Message) error // ListenIBTPX 从绑定的对应的port dev接收数据 ListenIBTPX() <-chan *pb.Message }