type DefragmentResponse … type AlarmResponse … type AlarmMember … type StatusResponse … type HashKVResponse … type MoveLeaderResponse … type Maintenance … type maintenance … func NewMaintenance(c *Client) Maintenance { … } func NewMaintenanceFromMaintenanceClient(remote pb.MaintenanceClient, c *Client) Maintenance { … } func (m *maintenance) AlarmList(ctx context.Context) (*AlarmResponse, error) { … } func (m *maintenance) AlarmDisarm(ctx context.Context, am *AlarmMember) (*AlarmResponse, error) { … } func (m *maintenance) Defragment(ctx context.Context, endpoint string) (*DefragmentResponse, error) { … } func (m *maintenance) Status(ctx context.Context, endpoint string) (*StatusResponse, error) { … } func (m *maintenance) HashKV(ctx context.Context, endpoint string, rev int64) (*HashKVResponse, error) { … } func (m *maintenance) Snapshot(ctx context.Context) (io.ReadCloser, error) { … } type snapshotReadCloser … func (rc *snapshotReadCloser) Read(p []byte) (n int, err error) { … } func (m *maintenance) MoveLeader(ctx context.Context, transfereeID uint64) (*MoveLeaderResponse, error) { … }