Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Timestamp oracle server listen address
Addr string
// zookeeper address, format is zk1,zk2..., split by ,.
// if empty, the tso server is just a standalone memory server, and
// can't save lastest timestamp, so you may only use empty zk address in test.
ZKAddr string
// root path for saving data in zookeeper, the path must has the magic preifx /zk first,
RootPath string
// SaveInterval is the interval time (ms) to save timestamp in zookeeper.
// When the leader begins to run, it first loads the saved timestamp from zookeeper, e.g, T1,
// and the leader must guarantee that the next timestamp must be > T1 + 2 * SaveInterval.
SaveInterval int64
}
Config is the configuration for timestamp oracle server
type TimestampOracle ¶
type TimestampOracle struct {
// contains filtered or unexported fields
}
TimestampOracle generates a unique timestamp.
func NewTimestampOracle ¶
func NewTimestampOracle(cfg *Config) (*TimestampOracle, error)
NewTimestampOracle creates a tso server with special config.
func (*TimestampOracle) Close ¶
func (tso *TimestampOracle) Close()
Close closes timestamp oracle server.
func (*TimestampOracle) IsLeader ¶
func (tso *TimestampOracle) IsLeader() bool
IsLeader returns whether tso is leader or not.
func (*TimestampOracle) ListenAddr ¶
func (tso *TimestampOracle) ListenAddr() string
ListenAddr returns listen address. You must call it after tso server accepts successfully.
func (*TimestampOracle) Run ¶
func (tso *TimestampOracle) Run() error
Run runs the timestamp oracle server.
func (*TimestampOracle) String ¶
func (tso *TimestampOracle) String() string
String implements fmt.Stringer interface.
Click to show internal directories.
Click to hide internal directories.