Documentation
¶
Index ¶
- type LockData
- type UserAPI
- func (a *UserAPI) AcquireLock(ctx context.Context, req *paxosv1.AcquireLockRequest) (*paxosv1.AcquireLockResponse, error)
- func (a *UserAPI) CheckLocks(ctx context.Context, keyPath string) error
- func (a *UserAPI) CompareAndWrite(ctx context.Context, key string, oldValue, newValue []byte, ...) (*paxosv1.CompareAndWriteResponse, error)
- func (a *UserAPI) Read(ctx context.Context, key string, quorum paxosv1.ReadQuorum) (*paxosv1.ReadResponse, error)
- func (a *UserAPI) ReadPrefix(ctx context.Context, prefix string) (*paxosv1.ReadPrefixResponse, error)
- func (a *UserAPI) ReleaseLock(ctx context.Context, req *paxosv1.ReleaseLockRequest) (*paxosv1.ReleaseLockResponse, error)
- func (a *UserAPI) RenewLock(ctx context.Context, req *paxosv1.RenewLockRequest) (*paxosv1.RenewLockResponse, error)
- func (a *UserAPI) Shutdown(ctx context.Context, req *paxosv1.ShutdownRequest) (*paxosv1.ShutdownResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LockData ¶
type LockData struct {
AgentID string `json:"agent_id"`
ExpiresAt int64 `json:"expires_at"` // Unix timestamp in nanoseconds
}
LockData represents the contents of a _lock file.
type UserAPI ¶
type UserAPI struct {
// contains filtered or unexported fields
}
UserAPI provides client-facing operations for interacting with the Key-Value store.
func (*UserAPI) AcquireLock ¶
func (a *UserAPI) AcquireLock(ctx context.Context, req *paxosv1.AcquireLockRequest) (*paxosv1.AcquireLockResponse, error)
AcquireLock attempts to acquire locks for all lockable segments in a key path.
func (*UserAPI) CheckLocks ¶
CheckLocks verifies that all locks for a path are held by this agent.
func (*UserAPI) CompareAndWrite ¶
func (a *UserAPI) CompareAndWrite(ctx context.Context, key string, oldValue, newValue []byte, qt paxos.QuorumType) (*paxosv1.CompareAndWriteResponse, error)
CompareAndWrite implements CAS using paxos proposal and backoff.
func (*UserAPI) Read ¶
func (a *UserAPI) Read(ctx context.Context, key string, quorum paxosv1.ReadQuorum) (*paxosv1.ReadResponse, error)
Read implements the quorum read logic.
func (*UserAPI) ReadPrefix ¶
func (a *UserAPI) ReadPrefix(ctx context.Context, prefix string) (*paxosv1.ReadPrefixResponse, error)
ReadPrefix returns all non-deleted Key-Value entries matching the specified prefix.
func (*UserAPI) ReleaseLock ¶
func (a *UserAPI) ReleaseLock(ctx context.Context, req *paxosv1.ReleaseLockRequest) (*paxosv1.ReleaseLockResponse, error)
ReleaseLock releases locks for all lockable segments in a key path that are held by this agent.
func (*UserAPI) RenewLock ¶
func (a *UserAPI) RenewLock(ctx context.Context, req *paxosv1.RenewLockRequest) (*paxosv1.RenewLockResponse, error)
RenewLock attempts to renew the lease duration for all lockable segments in a key path.
func (*UserAPI) Shutdown ¶
func (a *UserAPI) Shutdown(ctx context.Context, req *paxosv1.ShutdownRequest) (*paxosv1.ShutdownResponse, error)
Shutdown initiates a graceful shutdown sequence. It proposes the removal of this node from the cluster and signals the main server to enter lame duck mode.