Documentation
¶
Overview ¶
Package sdk предоставляет клиентские обёртки для вызова gRPC-методов других реплик.
Эти клиенты используются компонентами кластера (Election, Sync) для общения с удалёнными репликами.
Каждый клиент инкапсулирует в себе protobuf-клиент и предоставляет удобные методы для работы с domain-типами.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ElectionClient ¶
type ElectionClient struct {
// contains filtered or unexported fields
}
ElectionClient — клиент для вызова gRPC-методов Election.
Используется в election.Election для:
- Синхронизации term (Election метод)
- Отправки и получения бюллетеней (Vote метод)
func NewElectionClient ¶
func NewElectionClient(grpcConn grpc.ClientConnInterface) *ElectionClient
NewElectionClient создаёт новый клиент Election.
func (*ElectionClient) Election ¶
Election вызывает gRPC-метод Election у удалённой реплики.
Параметры:
- ctx — контекст для отмены запроса
- myHost — хост текущей реплики (для идентификации)
- term — текущий term текущей реплики
Возвращает:
- term удалённой реплики
- ошибку, если запрос не удался
Используется в фазе AgeSync для синхронизации term.
func (*ElectionClient) Vote ¶
func (e *ElectionClient) Vote(ctx context.Context, myHost string, bulletin *domain.Bulletin) (*domain.Bulletin, error)
Vote вызывает gRPC-метод Vote у удалённой реплики.
Параметры:
- ctx — контекст для отмены запроса
- myHost — хост текущей реплики (для идентификации)
- bulletin — бюллетень текущей реплики (term + candidateId)
Возвращает:
- бюллетень удалённой реплики
- ошибку, если запрос не удался
Используется в фазе Vote для обмена бюллетенями.
type SyncClient ¶
type SyncClient struct {
// contains filtered or unexported fields
}
SyncClient — клиент для вызова gRPC-методов Sync.
Используется в sync.Process для:
- Обмена списками хостов (Hosts метод)
func NewSyncClient ¶
func NewSyncClient(grpcConn grpc.ClientConnInterface) *SyncClient
NewSyncClient создаёт новый клиент Sync.
func (*SyncClient) Hosts ¶
Hosts вызывает gRPC-метод Hosts у удалённой реплики.
Параметры:
- ctx — контекст для отмены запроса
- hosts — множество хостов текущей реплики
Возвращает:
- множество хостов удалённой реплики
- ошибку, если запрос не удался
Используется в синхронизации хостов для обнаружения новых реплик.
Примечание: метод обменивается списками хостов, позволяя репликам узнавать о новых узлах в кластере.