Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // MessageChanFullError возникает, когда буфер сообщений заполнен. MessageChanFullError = errors.New("message channel is full") // MessageChanClosedError возникает при попытке записи в закрытый канал. MessageChanClosedError = errors.New("message channel is closed") // SendMessageError возникает при ошибке отправки сообщения. SendMessageError = errors.New("send message error") )
Functions ¶
func CheckError ¶
CheckError проверяет, является ли ошибка результатом отмены контекста.
Types ¶
type BidiStreaming ¶
type BidiStreaming[Req any, Res any] interface { Recv() (*Req, error) Send(*Res) error Context() context.Context }
BidiStreaming — интерфейс для двунаправленного стрима.
type ClientBidiStreamingServer ¶
type ClientBidiStreamingServer[Req any, Res any] struct { // contains filtered or unexported fields }
ClientBidiStreamingServer — двунаправленный стрим.
func NewClientBidiStreamingServer ¶
func NewClientBidiStreamingServer[Req any, Res any]( stream BidiStreaming[Req, Res], reqCallback ReqCallback[Req], logger compogo.Logger, bufferSize uint32, ) *ClientBidiStreamingServer[Req, Res]
NewClientBidiStreamingServer создаёт новый двунаправленный стрим.
func (*ClientBidiStreamingServer[Req, Res]) Process ¶
func (client *ClientBidiStreamingServer[Req, Res]) Process(ctx context.Context) error
Process обрабатывает двунаправленный стрим.
func (*ClientBidiStreamingServer[Req, Res]) Send ¶
func (client *ClientBidiStreamingServer[Req, Res]) Send(message *Res) error
Send отправляет сообщение.
type ClientServerStreamingClient ¶
type ClientServerStreamingClient[Res any] struct { // contains filtered or unexported fields }
ClientServerStreamingClient — клиентский стрим для получения сообщений от сервера.
func NewClientServerStreamingClient ¶
func NewClientServerStreamingClient[Res any]( stream grpc.ServerStreamingClient[Res], reqCallback ReqCallback[Res], logger compogo.Logger, ) *ClientServerStreamingClient[Res]
NewClientServerStreamingClient создаёт новый клиентский стрим.
type ClientServerStreamingServer ¶
type ClientServerStreamingServer[Res any] struct { // contains filtered or unexported fields }
ClientServerStreamingServer — серверный стрим для отправки сообщений клиенту. Использует буферизированный канал для асинхронной отправки.
func NewClientServerStreamingServer ¶
func NewClientServerStreamingServer[Res any](stream grpc.ServerStreamingServer[Res], bufferSize uint32) *ClientServerStreamingServer[Res]
NewClientServerStreamingServer создаёт новый серверный стрим.
func (*ClientServerStreamingServer[Res]) Process ¶
func (client *ClientServerStreamingServer[Res]) Process(ctx context.Context) error
Process обрабатывает отправку сообщений.
func (*ClientServerStreamingServer[Res]) Send ¶
func (client *ClientServerStreamingServer[Res]) Send(message *Res) error
Send отправляет сообщение клиенту.