Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SyncResult ¶
type SyncResult struct {
// contains filtered or unexported fields
}
SyncResult 实现了在异步操作中进行阻塞, 并等待结果返回的功能 用于tcp, websocket等网络通信中需要等待返回结果的需求, 实现类似于一个http请求的效果
func (*SyncResult) CancelSyncResultWithID ¶
func (sr *SyncResult) CancelSyncResultWithID(uid string) error
CancelSyncResultWithID 立即失效该uuid对应的所有流程, 释放所有方法的阻塞行为, 这将会导致它们返回错误
func (*SyncResult) GetSyncResultWithID ¶
func (sr *SyncResult) GetSyncResultWithID(uid string) (interface{}, error)
GetSyncResultWithID 阻塞调用该方法的goroutine, 直到读取到值或者超时 在调用 NewSyncResultID 后, 需确保调用一次该方法, 否则将可能导致内存泄漏
func (*SyncResult) NewSyncResultID ¶
func (sr *SyncResult) NewSyncResultID(timeout time.Duration) string
NewSyncResultID 为同步等待设置一个超时时间, 同时返回一个uuid, 作为参数传递的标记 设置的超时时间在调用该方法后立即生效, 确保在超时前完成一次同步结果的所有流程, 否则调用其他方法将直接返回错误
func (*SyncResult) SetSyncResultWithID ¶
func (sr *SyncResult) SetSyncResultWithID(uid string, data interface{}) error
SetSyncResultWithID 写入同步数据, 无论该数据是否被读取, 都将立即返回 如果写入参数时已经超时, 将返回错误 确保一个uuid只写入一次数据, 否则可能会阻塞调用该方法的goroutine
Click to show internal directories.
Click to hide internal directories.