opts

package
v0.0.48 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package opts - пакет с опциями Websocket соединений

Index

Constants

View Source
const (
	DefaultReceiveBufSize = 10               // Размер входящего буфера по умолчанию
	DefaultSendBufSize    = 10               // Размер исходящего буфера по умолчанию
	DefaultBufTimeout     = 10 * time.Second // Таймаут входящего буфера по умолчанию
	DefaultPingPeriod     = time.Second * 45 // Период пинга по умолчанию

	DefaultRetryPeriod = 250 * time.Millisecond // Период попыток переподключения по умолчанию
	DefaultRetryLimit  = 20                     // Лимит попыток переподключения
	DefaultSubTimeout  = 10 * time.Second       // Таймаут получения ответа на запрос подписки
	DefaultAuthTimeout = 10 * time.Second       // Таймаут получения ответа на запрос авторизации
)

Variables

View Source
var (
	RequiredOptsErr = errors.New("opts required")
)

Functions

func FillClientPrivateConnOptions

func FillClientPrivateConnOptions(opts *ClientPrivateConnOptions) error

FillClientPrivateConnOptions - вспомогательная функция заполнения опция значениями по умолчанию

func FillClientPublicOptions

func FillClientPublicOptions(opts *ClientPublicConnOptions) error

FillClientPublicOptions - вспомогательная функция заполнения опция значениями по умолчанию

func FillOpts

func FillOpts(opts *Options) error

FillOpts - вспомогательная функция заполнения опция значениями по умолчанию

func FillServerPrivateOptions

func FillServerPrivateOptions(opts *ServerPrivateConnOptions) error

FillServerPrivateOptions - вспомогательная функция заполнения опция значениями по умолчанию

func FillServerPublicOptions

func FillServerPublicOptions(opts *ServerPublicConnOptions) error

FillServerPublicOptions - вспомогательная функция заполнения опция значениями по умолчанию

Types

type AuthOptions

type AuthOptions struct {
	// Допускается ли авторизация с помощью basic-авторизации, jwt токена и запроса, посланного после инициализации сокета
	BasicAllowed, TokenAllowed, RequestAllowed, CookieAllowed bool
	CookieName                                                string
	VersionHeader                                             string                      // Имя заголовка с версией
	VersionChecker                                            httpservice.VersionChecker  // Функция проверки версии
	Disabled                                                  []structs.Role              // Список ролей, которым запрещено подключение
	ErrorMapper                                               httpservice.AuthErrorMapper // Преобразователь ошибок авторизации в формат API системы
	Timeout                                                   time.Duration               // Таймаут авторизации по запросу
}

AuthOptions - опции авторизации соединения

type ClientPrivateConnOptions

type ClientPrivateConnOptions struct {
	*ClientPublicConnOptions
	AuthTimeout time.Duration // Таймаут ответа на запрос авторизации
}

ClientPrivateConnOptions - опции для авторизованных соединений. Используется для клиентских соединений

type ClientPublicConnOptions

type ClientPublicConnOptions struct {
	*Options
	RetryLimit              int               // Лимит количества попыток переподключения
	RetryPeriod, SubTimeout time.Duration     // Период попыток переподключения и таймаут ответа на запрос подписки
	FillVersion             func(http.Header) // Функция заполнения заголовка с версией
	NeedRestart             bool              // Нужно ли переподключаться в случае разрыва соединения
}

ClientPublicConnOptions - опции для публичных соединений. Используется для клиентских соединений

type Options

type Options struct {
	ContentType                       string        // Content Type для соединения. В этом формате будут передаваться сообщения
	OverflowMsg                       proto.Message // Сообщение о переполнении входящего буфера
	OverflowMsgJson, OverflowMsgProto []byte        // Сериализованные сообщения о переполнении
	ReceiveBufSize                    int           // Размер входящего буфера
	SendBufSize                       int           // Размер исходящего буфера
	ReceiveBufTimeout                 time.Duration // Таймаут входящего буфера
	PingPeriod                        time.Duration // Период пинга
}

Options - базовые опции websocket-соединения

type ServerPrivateConnOptions

type ServerPrivateConnOptions struct {
	*ServerPublicConnOptions
	AuthOptions *AuthOptions
}

ServerPrivateConnOptions - опции для авторизованных соединений. Используется для сервера

type ServerPublicConnOptions

type ServerPublicConnOptions struct {
	*Options
}

ServerPublicConnOptions - опции для публичных соединений. Используется для сервера

Jump to

Keyboard shortcuts

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