transfer

package
v0.0.0-...-c340371 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2018 License: MIT Imports: 5 Imported by: 16

Documentation

Overview

Package transfer defines how server and client connect to each other

Index

Constants

View Source
const (
	EVENT_CLIENT_CONNECTED    = "EVENT_CLIENT_CONNECTED"
	EVENT_CLIENT_DISCONNECTED = "EVENT_CLIENT_DISCONNECTED"
	EVENT_CLIENT_SENT         = "EVENT_CLIENT_SENT"
	EVENT_CLIENT_RECVED       = "EVENT_CLIENT_RECVED"

	EVENT_SERVER_STARTED     = "EVENT_SERVER_STARTED"
	EVENT_SERVER_ERROR       = "EVENT_SERVER_ERROR"
	EVENT_SERVER_BEFORE_STOP = "EVENT_SERVER_BEFORE_STOP"
	EVENT_SERVER_STOPPED     = "EVENT_SERVER_STOPPED"
	EVENT_SERVER_NEW_CLIENT  = "EVENT_SERVER_NEW_CLIENT"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Addr

type Addr interface {
	net.Addr
	IP() string
	Port() int
}

func NewAddr

func NewAddr(a net.Addr) Addr

type IClient

type IClient interface {
	event.IEvent
	IHeaderCreator

	RegistDelegate(delegate IClientDelegate)
	UnregistDelegate(delegate IClientDelegate)

	LocalAddr() Addr
	RemoteAddr() Addr
	Id() uint32

	IsConnected() bool
	Connect(host string, port int) error
	Disconnect() error
	Read(buf []byte) (int, error)
	Write(buf []byte) (int, error)

	Send(*pkg.Header, []byte) error
	Recv() (*pkg.Header, []byte, error)
}

type IClientDelegate

type IClientDelegate interface {
	OnConnected(IClient)
	OnDisconnected(IClient)

	OnSent(IClient, *pkg.Header, []byte)
	OnRecved(IClient, *pkg.Header, []byte)
}

type IHeaderCreator

type IHeaderCreator interface {
	NewHeader(t pkg.PackageType, e pkg.EncodingType, r string) *pkg.Header
	NewHeartBeatHeader() *pkg.Header
	NewHeartBeatResponseHeader(h *pkg.Header) *pkg.Header
}

type IServer

type IServer interface {
	event.IEvent

	RegistDelegate(delegate IServerDelegate)
	UnregistDelegate(delegate IServerDelegate)

	Host() string
	Port() int
	IsStarted() bool

	Addr() Addr
	Clients() map[uint32]IClient
	GetClientById(uint32) IClient

	Start() error
	Stop() error
}

type IServerDelegate

type IServerDelegate interface {
	OnStarted()
	OnError(err error)
	OnBeforeStop()
	OnStopped()

	OnNewClient(client IClient)
}

Directories

Path Synopsis
Package base provide common logic to transfer
Package base provide common logic to transfer
Package tcp is a tcp implement to transfer
Package tcp is a tcp implement to transfer
Package websocket is a websocket implement to transfer
Package websocket is a websocket implement to transfer
Package websocket is a websocket implement to transfer
Package websocket is a websocket implement to transfer

Jump to

Keyboard shortcuts

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