stream

package
v1.0.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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

func CheckError(err error) error

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 создаёт новый клиентский стрим.

func (*ClientServerStreamingClient[Res]) Process

func (client *ClientServerStreamingClient[Res]) Process(ctx context.Context) error

Process обрабатывает получение сообщений.

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 отправляет сообщение клиенту.

type ReqCallback

type ReqCallback[Req any] func(ctx context.Context, req *Req) error

ReqCallback — функция обратного вызова для обработки входящих сообщений.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL