Documentation ¶
Index ¶
- Constants
- Variables
- func GenerateRendezvousPointForPeriod(topic, seed []byte, date time.Time) []byte
- func NextTimePeriod(date time.Time, interval time.Duration) time.Time
- func RoundTimePeriod(date time.Time, interval time.Duration) time.Time
- type EmitterClientOptions
- type EmitterOptions
- type EmitterPubSub
- func (p *EmitterPubSub) Close() error
- func (p *EmitterPubSub) GetServiceType() string
- func (p *EmitterPubSub) Register(pid peer.ID, ns string, addrs [][]byte, ttlAsSeconds int, counter uint64)
- func (p *EmitterPubSub) Subscribe(ns string) (string, error)
- func (p *EmitterPubSub) Unregister(_ peer.ID, _ string)
- type EmitterPubSubSubscriptionDetails
- type Point
- func (p *Point) Deadline() time.Time
- func (p *Point) IsExpired() bool
- func (p *Point) NextPoint() *Point
- func (p *Point) RawRotationTopic() []byte
- func (p *Point) RawTopic() []byte
- func (p *Point) RotationTopic() string
- func (p *Point) Seed() []byte
- func (p *Point) TTL() time.Duration
- func (p *Point) Topic() string
- type RotationInterval
- func (r *RotationInterval) NewRendezvousPointForPeriod(at time.Time, topic string, seed []byte) (point *Point)
- func (r *RotationInterval) NextTimePeriod(at time.Time) time.Time
- func (r *RotationInterval) PointForRawRotation(rotation []byte) (*Point, error)
- func (r *RotationInterval) PointForRotation(rotation string) (*Point, error)
- func (r *RotationInterval) PointForTopic(topic string) (*Point, error)
- func (r *RotationInterval) RegisterRotation(at time.Time, topic string, seed []byte)
- func (r *RotationInterval) RoundTimePeriod(at time.Time) time.Time
- type SyncClient
Constants ¶
View Source
const DefaultRotationInterval = time.Hour * 24
View Source
const EmitterServiceType = "emitter-io"
Variables ¶
View Source
var ( RotationGracePeriod = time.Minute * 10 MinimumDelayRotation = time.Minute )
Functions ¶
Types ¶
type EmitterClientOptions ¶
type EmitterOptions ¶
type EmitterPubSub ¶
type EmitterPubSub struct {
// contains filtered or unexported fields
}
func NewEmitterServer ¶
func NewEmitterServer(serverAddr string, adminKey string, options *EmitterOptions) (*EmitterPubSub, error)
func (*EmitterPubSub) Close ¶
func (p *EmitterPubSub) Close() error
func (*EmitterPubSub) GetServiceType ¶
func (p *EmitterPubSub) GetServiceType() string
func (*EmitterPubSub) Register ¶
func (p *EmitterPubSub) Register(pid peer.ID, ns string, addrs [][]byte, ttlAsSeconds int, counter uint64)
nolint:revive
func (*EmitterPubSub) Unregister ¶
func (p *EmitterPubSub) Unregister(_ peer.ID, _ string)
type Point ¶
type Point struct {
// contains filtered or unexported fields
}
func (*Point) RawRotationTopic ¶
func (*Point) RotationTopic ¶
type RotationInterval ¶
type RotationInterval struct {
// contains filtered or unexported fields
}
func NewRotationInterval ¶
func NewRotationInterval(interval time.Duration) *RotationInterval
func NewStaticRotationInterval ¶
func NewStaticRotationInterval() *RotationInterval
func (*RotationInterval) NewRendezvousPointForPeriod ¶
func (*RotationInterval) NextTimePeriod ¶
func (r *RotationInterval) NextTimePeriod(at time.Time) time.Time
func (*RotationInterval) PointForRawRotation ¶
func (r *RotationInterval) PointForRawRotation(rotation []byte) (*Point, error)
func (*RotationInterval) PointForRotation ¶
func (r *RotationInterval) PointForRotation(rotation string) (*Point, error)
func (*RotationInterval) PointForTopic ¶
func (r *RotationInterval) PointForTopic(topic string) (*Point, error)
func (*RotationInterval) RegisterRotation ¶
func (r *RotationInterval) RegisterRotation(at time.Time, topic string, seed []byte)
func (*RotationInterval) RoundTimePeriod ¶
func (r *RotationInterval) RoundTimePeriod(at time.Time) time.Time
type SyncClient ¶
type SyncClient interface { rendezvous.RendezvousSyncClient io.Closer }
func NewEmitterClient ¶
func NewEmitterClient(opts *EmitterClientOptions) SyncClient
Click to show internal directories.
Click to hide internal directories.