Documentation ¶
Overview ¶
Package transport contains different MTProto transport implementations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Codec ¶
type Codec interface { // WriteHeader sends protocol tag if needed. WriteHeader(w io.Writer) error // ReadHeader reads protocol tag if needed. ReadHeader(r io.Reader) error // Write encode to writer message from given buffer. Write(w io.Writer, b *bin.Buffer) error // Read fills buffer with received message. Read(r io.Reader, b *bin.Buffer) error }
Codec is MTProto transport protocol encoding abstraction.
type Conn ¶ added in v0.12.0
type Conn interface { Send(ctx context.Context, b *bin.Buffer) error Recv(ctx context.Context, b *bin.Buffer) error Close() error }
Conn is transport connection.
type Dialer ¶
type Dialer interface {
DialContext(ctx context.Context, network, address string) (net.Conn, error)
}
Dialer dials using a context.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is a simple MTProto server.
func NewCustomServer ¶
NewCustomServer creates new MTProto server with custom transport codec.
func NewFullServer ¶ added in v0.12.0
NewFullServer creates new MTProto server with Full transport codec.
func NewIntermediateServer ¶
NewIntermediateServer creates new MTProto server with Intermediate transport codec.
type Transport ¶
type Transport struct {
// contains filtered or unexported fields
}
Transport is MTProto connection creator.
func Abridged ¶ added in v0.14.0
Abridged creates Abridged transport.
See https://core.telegram.org/mtproto/mtproto-transports#abridged
func Full ¶
Full creates Full transport.
See https://core.telegram.org/mtproto/mtproto-transports#full
func Intermediate ¶
Intermediate creates Intermediate transport.
See https://core.telegram.org/mtproto/mtproto-transports#intermediate
func MTProxy ¶ added in v0.14.0
MTProxy creates MTProxy obfuscated transport.
See https://core.telegram.org/mtproto/mtproto-transports#transport-obfuscation
func NewTransport ¶ added in v0.12.0
NewTransport creates transport using user Codec constructor.
func PaddedIntermediate ¶ added in v0.14.0
PaddedIntermediate creates Padded intermediate transport.
See https://core.telegram.org/mtproto/mtproto-transports#padded-intermediate