manager

package
v0.29.0 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package manager contains connection management utilities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Conn

type Conn struct {
	// contains filtered or unexported fields
}

Conn is a Telegram client connection.

func CreateConn

func CreateConn(
	id int64,
	mode ConnMode,
	appID int,
	addr string,
	opts mtproto.Options,
	connOpts ConnOptions,
) *Conn

CreateConn creates new connection.

func (*Conn) InvokeRaw

func (c *Conn) InvokeRaw(ctx context.Context, input bin.Encoder, output bin.Decoder) error

InvokeRaw implements Invoker.

func (*Conn) OnMessage

func (c *Conn) OnMessage(b *bin.Buffer) error

OnMessage implements mtproto.Handler.

func (*Conn) OnSession

func (c *Conn) OnSession(session mtproto.Session) error

OnSession implements mtproto.Handler.

func (*Conn) Ready

func (c *Conn) Ready() <-chan struct{}

Ready returns channel to determine connection readiness. Useful for pooling.

func (*Conn) Run

func (c *Conn) Run(ctx context.Context) (err error)

Run initialize connection.

type ConnMode

type ConnMode byte

ConnMode represents connection mode.

const (
	// ConnModeUpdates is update connection mode.
	ConnModeUpdates ConnMode = iota
	// ConnModeData is data connection mode.
	ConnModeData
	// ConnModeCDN is CDN connection mode.
	ConnModeCDN
)

func (ConnMode) String

func (i ConnMode) String() string

type ConnOptions

type ConnOptions struct {
	DC      int
	Device  DeviceConfig
	Handler Handler
	Setup   SetupCallback
}

ConnOptions is a Telegram client connection options.

func (*ConnOptions) SetDefaults

func (c *ConnOptions) SetDefaults()

SetDefaults sets default values.

type DeviceConfig

type DeviceConfig struct {
	// Device model
	DeviceModel string
	// Operation system version
	SystemVersion string
	// Application version
	AppVersion string
	// Code for the language used on the device's OS, ISO 639-1 standard
	SystemLangCode string
	// Language pack to use
	LangPack string
	// Code for the language used on the client, ISO 639-1 standard
	LangCode string
}

DeviceConfig is config which send when Telegram connection session created.

func (*DeviceConfig) SetDefaults

func (c *DeviceConfig) SetDefaults()

SetDefaults sets default values.

type Handler

type Handler interface {
	OnSession(addr string, cfg tg.Config, s mtproto.Session) error
	OnMessage(b *bin.Buffer) error
}

Handler abstracts updates and session handler.

type NoopHandler

type NoopHandler struct{}

NoopHandler is a noop handler.

func (NoopHandler) OnMessage

func (n NoopHandler) OnMessage(b *bin.Buffer) error

OnMessage implements Handler

func (NoopHandler) OnSession

func (n NoopHandler) OnSession(addr string, cfg tg.Config, s mtproto.Session) error

OnSession implements Handler.

type SetupCallback

type SetupCallback = func(ctx context.Context, invoker tg.Invoker) error

SetupCallback is a optional setup connection callback.

Jump to

Keyboard shortcuts

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