Documentation ¶
Index ¶
- Variables
- func HandleSearchFileSegmentRequestPubSub(ctx context.Context, opt *fscfg.Options, db *database.DB, fs afero.Afero, ...)
- func HandleSearchFileSegmentResponsePubSub(ctx context.Context, res *pubsub.Message)
- func HandleSetFileSegmentRequestPubSub(ctx context.Context, opt *fscfg.Options, db *database.DB, fs afero.Afero, ...)
- func RegisterSharedPubsubProtocol(lc fx.Lifecycle, input RegisterPubsubProtocolInput)
- func RequestSetFileSegmentPubSub(ctx context.Context, host host.Host, nps *pubsub.NodePubSub, fileID string, ...) error
- type RegisterPubsubProtocolInput
- type SearchSubscription
- type Topic
Constants ¶
This section is empty.
Variables ¶
View Source
var AllowedTopics = []Topic{ PubSubSetFileSegmentRequestTopic, PubSubSearchFileSegmentRequestTopic, PubSubSearchFileSegmentResponseTopic, }
AllowedTopics 定义了系统支持的所有文件共享操作主题
Functions ¶
func HandleSearchFileSegmentRequestPubSub ¶
func HandleSearchFileSegmentRequestPubSub( ctx context.Context, opt *fscfg.Options, db *database.DB, fs afero.Afero, nps *pubsub.NodePubSub, res *pubsub.Message, )
HandleSearchFileSegmentRequestPubSub 处理检索共享文件请求 参数:
- ctx: 上下文,用于控制操作的生命周期
- opt: 文件系统配置选项
- db: 数据库实例
- fs: 文件系统接口
- nps: 节点发布订阅系统实例
- res: 收到的pubsub消息
func HandleSearchFileSegmentResponsePubSub ¶
HandleSearchFileSegmentResponsePubSub 处理检索响应 参数:
- ctx: 上下文,用于控制操作的生命周期
- res: 收到的pubsub消息
func HandleSetFileSegmentRequestPubSub ¶
func HandleSetFileSegmentRequestPubSub( ctx context.Context, opt *fscfg.Options, db *database.DB, fs afero.Afero, nps *pubsub.NodePubSub, res *pubsub.Message, )
HandleSetFileSegmentRequestPubSub 处理设置文件片段共享状态的请求 参数:
- ctx: 上下文对象,用于控制请求处理的生命周期
- opt: 文件系统配置选项
- db: 数据库实例
- fs: 文件系统接口
- nps: 节点发布订阅系统实例
- res: 接收到的消息
func RegisterSharedPubsubProtocol ¶
func RegisterSharedPubsubProtocol(lc fx.Lifecycle, input RegisterPubsubProtocolInput)
RegisterSharedPubsubProtocol 注册文件共享相关的PubSub协议处理器 参数:
- lc: fx.Lifecycle 应用生命周期管理器
- input: RegisterPubsubProtocolInput 注册所需的输入参数
func RequestSetFileSegmentPubSub ¶
func RequestSetFileSegmentPubSub( ctx context.Context, host host.Host, nps *pubsub.NodePubSub, fileID string, pubkeyHash []byte, enableSharing bool, ) error
RequestSetFileSegmentPubSub 请求设置文件片段的共享状态 参数:
- ctx: 上下文对象,用于控制请求的生命周期
- host: libp2p网络主机实例
- nps: 节点发布订阅系统实例
- fileID: 要设置共享状态的文件ID
- pubkeyHash: 文件所有者的公钥哈希
- enableSharing: 是否启用共享
返回值:
- error: 如果请求发送成功返回nil,否则返回错误信息
Types ¶
type RegisterPubsubProtocolInput ¶
type RegisterPubsubProtocolInput struct { fx.In Ctx context.Context // 全局上下文,用于管理整个应用的生命周期 Opt *fscfg.Options // 文件存储配置选项 DB *database.DB // 本地数据存储实例 FS afero.Afero // 文件系统接口 Host host.Host // libp2p网络主机实例 NPS *pubsub.NodePubSub // 发布订阅系统 }
RegisterPubsubProtocolInput 定义了注册PubsubProtocol所需的输入参数
type SearchSubscription ¶
type SearchSubscription struct {
// contains filtered or unexported fields
}
SearchSubscription 定义检索订阅结构 用于管理文件检索的订阅状态和通信
func RequestSearchFileSegmentPubSub ¶
func RequestSearchFileSegmentPubSub( ctx context.Context, host host.Host, nps *pubsub.NodePubSub, fileID string, ) (*SearchSubscription, error)
RequestSearchFileSegmentPubSub 发起检索文件请求 参数:
- ctx: 上下文,用于控制操作的生命周期
- host: libp2p主机实例,用于网络通信
- nps: 节点发布订阅系统实例
- fileID: 要检索的文件ID
返回值:
- *SearchSubscription: 用于接收检索响应的订阅对象
- error: 可能发生的错误
func (*SearchSubscription) Cancel ¶
func (sub *SearchSubscription) Cancel()
Cancel 取消订阅 关闭done通道以通知相关goroutine停止工作
func (*SearchSubscription) Next ¶
func (sub *SearchSubscription) Next(ctx context.Context) (*pb.ResponseSearchFileSegmentPubSub, error)
Next 返回订阅中的下一个检索响应 参数:
- ctx: 上下文,用于控制操作的生命周期
返回值:
- *pb.ResponseSearchFileSegmentPubSub: 检索响应数据
- error: 可能发生的错误
Click to show internal directories.
Click to hide internal directories.