/
subscribe_options.go
68 lines (55 loc) · 1.26 KB
/
subscribe_options.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package esdb
import (
"time"
)
type SubscribeToStreamOptions struct {
From StreamPosition
ResolveLinkTos bool
Authenticated *Credentials
Deadline *time.Duration
}
func (o *SubscribeToStreamOptions) kind() operationKind {
return StreamingOperation
}
func (o *SubscribeToStreamOptions) credentials() *Credentials {
return o.Authenticated
}
func (o *SubscribeToStreamOptions) deadline() *time.Duration {
return o.Deadline
}
func (o *SubscribeToStreamOptions) setDefaults() {
if o.From == nil {
o.From = End{}
}
}
type SubscribeToAllOptions struct {
From AllPosition
ResolveLinkTos bool
MaxSearchWindow int
CheckpointInterval int
Filter *SubscriptionFilter
Authenticated *Credentials
Deadline *time.Duration
}
func (o *SubscribeToAllOptions) kind() operationKind {
return StreamingOperation
}
func (o *SubscribeToAllOptions) credentials() *Credentials {
return o.Authenticated
}
func (o *SubscribeToAllOptions) deadline() *time.Duration {
return o.Deadline
}
func (o *SubscribeToAllOptions) setDefaults() {
if o.From == nil {
o.From = End{}
}
if o.Filter != nil {
if o.MaxSearchWindow == 0 {
o.MaxSearchWindow = 32
}
if o.CheckpointInterval == 0 {
o.CheckpointInterval = 1
}
}
}