structs

package
v0.0.46 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2023 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package structs содержит в себе объявления типов, использующихся везде в этом SDK

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	Id       int64    // id клиента
	Role     Role     // роль клиента
	Platform Platform // платформа, с которой выполнен запрос
	Versions []string // версия системы, с которой выполнен запрос
}

Account - структура содержащая иммутабельную информацию о клиенте

type DefaultResult

type DefaultResult struct {
	Response       proto.Message
	Subs           []SubData
	AccountsToDrop []*Account
	Effects        []func()
}

DefaultResult - вспомогательная структура, реализующая интерфейс Result

func (*DefaultResult) GetAccountsToDrop

func (d *DefaultResult) GetAccountsToDrop() []*Account

func (*DefaultResult) GetEffects

func (d *DefaultResult) GetEffects() []func()

func (*DefaultResult) GetResponse

func (d *DefaultResult) GetResponse() proto.Message

func (*DefaultResult) GetSubs

func (d *DefaultResult) GetSubs() []SubData

type Platform

type Platform int32 // enum для платформы

type Result

type Result interface {
	GetResponse() proto.Message    // ответ на запрос
	GetSubs() []SubData            // список сообщений по подписке
	GetAccountsToDrop() []*Account // список аккаунтов, с которыми надо разорвать соединение
	GetEffects() []func()          // список эффектов, которые должны быть применены в случае успешной обработки результата
}

Result - интерфейс, определяющий результат работы произвольного метода

type Role

type Role int32 // enum для роли

type SubData

type SubData interface {
	GetKind() SubKind               // топик подписки
	GetData() proto.Message         // произвольные данные
	GetAll() map[Role]bool          // роли пользователей, которым надо послать сообщение без какой-либо фильтрации
	GetForce() bool                 // Deprecated: использовалось для обратной совместимости
	GetReceivers() map[Role][]int64 // списки id пользователей, которым надо послать сообщение
}

SubData - интерфейс, определяющий сообщения для подписки

type SubKind

type SubKind int32 // enum для топика подписки

Jump to

Keyboard shortcuts

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