Documentation ¶
Index ¶
Constants ¶
const ( Success = iota SuccessObtainLock GetCheckpoint UnmarshalCheckpoint SignCheckpoint RedisFailure RedisLatestFailure )
Constant values used with metrics
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CheckpointPublisher ¶
type CheckpointPublisher struct {
// contains filtered or unexported fields
}
CheckpointPublisher is a long-running job to periodically publish signed checkpoints to etc.d
func NewCheckpointPublisher ¶
func NewCheckpointPublisher(ctx context.Context, logClient trillian.TrillianLogClient, treeID int64, hostname string, signer signature.Signer, redisClient *redis.Client, checkpointFreq uint, reqCounter *prometheus.CounterVec) CheckpointPublisher
NewCheckpointPublisher creates a CheckpointPublisher to write stable checkpoints to Redis
func (*CheckpointPublisher) StartPublisher ¶
func (c *CheckpointPublisher) StartPublisher(ctx context.Context)
StartPublisher creates a long-running task that publishes the latest checkpoint every X minutes Writing to Redis is best effort. Failure will be detected either through metrics or by witnesses or Verifiers monitoring for fresh checkpoints. Failure can occur after a lock is obtained but before publishing the latest checkpoint. If this occurs due to a sporadic failure, this simply means that a witness will not see a fresh checkpoint for an additional period.
Directories ¶
Path | Synopsis |
---|---|
Package mockclient provides a mockable version of the Trillian log client API.
|
Package mockclient provides a mockable version of the Trillian log client API. |