Documentation ¶
Index ¶
- Variables
- type Continuation
- func (c *Continuation) Call(local interface{}) (*Frame, error)
- func (c *Continuation) CallFromStep(step int, local interface{}) (*Frame, error)
- func (c *Continuation) ContinueSegment(f SegmentFunc) *Continuation
- func (c *Continuation) Dump(frame *Frame) ([]byte, error)
- func (c *Continuation) NewFrame(step int, local interface{}) *Frame
- func (c *Continuation) Restore(data []byte) error
- func (c *Continuation) Resume(frame *Frame)
- func (c *Continuation) Segment(f SegmentFunc) *Continuation
- func (c *Continuation) Sleep(frame *Frame) (result interface{}, err error)
- func (c *Continuation) SleepWithTimeout(frame *Frame, duration time.Duration) (result interface{}, err error)
- func (c *Continuation) Wait(frame *Frame, checkContinue func(frame *Frame) bool) (status FrameMessage, result interface{}, err error)
- type Frame
- type FrameMessage
- type Segment
- type SegmentFunc
Constants ¶
This section is empty.
Variables ¶
View Source
var AlreadyDoneError = errors.New("already done")
已经执行完成
View Source
var SleepTimeoutError = errors.New("sleep timeout")
休眠超时
Functions ¶
This section is empty.
Types ¶
type Continuation ¶
type Continuation struct {
// contains filtered or unexported fields
}
func (*Continuation) CallFromStep ¶ added in v1.0.24
func (c *Continuation) CallFromStep(step int, local interface{}) (*Frame, error)
调用指定分段的函数
func (*Continuation) ContinueSegment ¶ added in v1.0.23
func (c *Continuation) ContinueSegment(f SegmentFunc) *Continuation
增加函数分段,每执行完一段会自动执行下一段
func (*Continuation) NewFrame ¶
func (c *Continuation) NewFrame(step int, local interface{}) *Frame
创建新的帧栈
func (*Continuation) Segment ¶
func (c *Continuation) Segment(f SegmentFunc) *Continuation
增加函数分段,每执行完一段自动暂停,需要手动 Resume()
func (*Continuation) Sleep ¶
func (c *Continuation) Sleep(frame *Frame) (result interface{}, err error)
休眠
func (*Continuation) SleepWithTimeout ¶ added in v1.0.25
func (c *Continuation) SleepWithTimeout(frame *Frame, duration time.Duration) (result interface{}, err error)
休眠,指定一个超时时间,如果超过时间上一分段未执行完则强制放弃
func (*Continuation) Wait ¶
func (c *Continuation) Wait(frame *Frame, checkContinue func(frame *Frame) bool) (status FrameMessage, result interface{}, err error)
等待执行结果,如果 checkContinue 不为空则通过此函数判断是否自动继续执行下一分段(忽略分段原本的continue属性属性)
type FrameMessage ¶
type FrameMessage int
const ( FrameStatusSleep FrameMessage = iota FrameStatusYield FrameStatusNext FrameStatusReturn FrameStatusThrow )
Click to show internal directories.
Click to hide internal directories.