client

package
v0.5.32 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2022 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrFingerPrint = errors.New("fingerprint mismatch")

Functions

This section is empty.

Types

type Backend

type Backend interface {
	Connect() (Conn, error)
	Framed() bool
}

type Client

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

func New

func New(b Backend, h Handler, log Logger, c Config) *Client

func (*Client) Chat

func (c *Client) Chat(msg string) error

func (*Client) ChatTyping added in v0.3.9

func (c *Client) ChatTyping() error

func (*Client) Close

func (c *Client) Close()

func (*Client) Connect

func (c *Client) Connect() error

func (*Client) Err

func (c *Client) Err() error

func (*Client) In added in v0.3.9

func (c *Client) In(ch string) bool

func (*Client) Latency

func (c *Client) Latency() time.Duration

func (*Client) Music

func (c *Client) Music(msg string) error

func (*Client) MusicPlaylistSongs added in v0.5.0

func (c *Client) MusicPlaylistSongs(playlist string) error

func (*Client) MusicSongDownload

func (c *Client) MusicSongDownload(ns, id string) error

func (*Client) Name

func (c *Client) Name() string

func (*Client) Playlists

func (c *Client) Playlists() []string

func (*Client) Run

func (c *Client) Run() error

func (*Client) Send

func (c *Client) Send(chnl string, msg channel.Msg) error

func (*Client) ServerFingerprint

func (c *Client) ServerFingerprint() string

func (*Client) ServerKey added in v0.3.11

func (c *Client) ServerKey() *crypto.PubKey

func (*Client) SetTrustedFingerprint

func (c *Client) SetTrustedFingerprint(n string)

func (*Client) Upload

func (c *Client) Upload(chnl, filename, msg string, size int64, r io.Reader) error

func (*Client) Users

func (c *Client) Users() Users

type Config

type Config struct {
	Key *crypto.Key

	ServerURL         string
	ServerFingerprint string

	Name     string
	Channels []string
	Proto    channel.Proto
	History  uint16
}

type Conn

type Conn interface {
	io.Writer
	io.Reader
	io.Closer
}

type Handler

type Handler interface {
	HandleName(name string)
	HandleHistory()
	HandleLatency(time.Duration)
	HandleChatMessage(chatdata.ServerMessage) error
	HandleMusicMessage(musicdata.ServerMessage) error
	HandleMusicStateMessage(MusicState) error
	HandleMusicPlaylistSongsMessage(musicdata.ServerPlaylistSongsMessage) error
	HandleUsersMessage(usersdata.ServerMessage, Users) error
	HandleMusicNodeMessage(*musicdata.SongDataMessage) error
	HandleTypingMessage(typingdata.ServerMessage) error
	HandleUpdateMessage(updatedata.ServerMessage) error
}

type Logger

type Logger interface {
	Log(string)
	Err(error)
	Flash(string, time.Duration)
}

type MusicState

func (MusicState) Binary

func (m MusicState) Binary(w channel.BinaryWriter) error

func (MusicState) Close

func (m MusicState) Close() error

func (MusicState) Equal

func (m MusicState) Equal(msg channel.Msg) bool

func (MusicState) Format added in v0.5.24

func (m MusicState) Format(delimiter string) string

func (MusicState) FromBinary

func (m MusicState) FromBinary(r channel.BinaryReader) (channel.Msg, error)

func (MusicState) FromJSON

func (m MusicState) FromJSON(r io.Reader) (channel.Msg, io.Reader, error)

func (MusicState) JSON

func (m MusicState) JSON(w io.Writer) error

type RW

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

type User

type User struct {
	Name     string
	Amount   uint8
	Channels []string
}

func (User) String

func (u User) String() string

type Users

type Users []User

func (Users) Len

func (u Users) Len() int

func (Users) Less

func (u Users) Less(i, j int) bool

func (Users) Names

func (u Users) Names() []string

func (Users) Swap

func (u Users) Swap(i, j int)

Directories

Path Synopsis
backend
tcp
ws

Jump to

Keyboard shortcuts

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