peer

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2021 License: MIT Imports: 3 Imported by: 0

README

Peer

This folder contains peers without any third party dependencies.

BasicPeer

You can construct your own peer based on BasicPeer.

FilePeer

  • Not readable.
  • Write to this peer to store data in a file.

NetPeer

Read from and write to a net.Conn.

StdioPeer

  • Read from stdin.
  • Write to stdout.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BasicPeer

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

func NewBasicPeer

func NewBasicPeer(gs rua.GameServer) *BasicPeer

Create a basic peer. You can use BasicPeer.OnWrite(), BasicPeer.OnClose(), BasicPeer.OnStart() to register lifecycle hooks.

func (*BasicPeer) Close

func (bp *BasicPeer) Close() error

func (*BasicPeer) GameServer

func (bp *BasicPeer) GameServer() rua.GameServer

func (*BasicPeer) Id

func (bp *BasicPeer) Id() int

func (*BasicPeer) Logger

func (bp *BasicPeer) Logger() rua.Logger

func (*BasicPeer) OnClose

func (bp *BasicPeer) OnClose(f func() error) *BasicPeer

This hook may be triggered concurrently

func (*BasicPeer) OnStart

func (bp *BasicPeer) OnStart(f func()) *BasicPeer

This hook may NOT be triggered concurrently

func (*BasicPeer) OnWrite

func (bp *BasicPeer) OnWrite(f func(data []byte) error) *BasicPeer

This hook may be triggered concurrently

func (*BasicPeer) SetId

func (bp *BasicPeer) SetId(id int)

func (*BasicPeer) SetLogger added in v0.5.0

func (bp *BasicPeer) SetLogger(l rua.Logger)

func (*BasicPeer) SetTag

func (bp *BasicPeer) SetTag(t string)

func (*BasicPeer) Start

func (bp *BasicPeer) Start()

Start and wait.

func (*BasicPeer) Tag

func (bp *BasicPeer) Tag() string

func (*BasicPeer) WithLogger

func (bp *BasicPeer) WithLogger(l rua.Logger) *BasicPeer

func (*BasicPeer) WithTag

func (bp *BasicPeer) WithTag(t string) *BasicPeer

func (*BasicPeer) Write

func (bp *BasicPeer) Write(data []byte) error

type BufferPeer added in v0.5.0

type BufferPeer struct {
	*SafePeer
	// contains filtered or unexported fields
}

func NewBufferPeer added in v0.5.0

func NewBufferPeer(gs rua.GameServer) *BufferPeer

Create a new BufferPeer. Data write to a BufferPeer will be stored in a buffer. Use `WithConsumer` instead of `OnWrite` to register a consumer to consume data in buffer. Use `OnStartBuffer` instead of `OnStart` to register the `onStart` hook for BufferPeer.

func (*BufferPeer) OnStartBuffer added in v0.5.0

func (bp *BufferPeer) OnStartBuffer(f func()) *BufferPeer

func (*BufferPeer) WithBufferSize added in v0.5.0

func (bp *BufferPeer) WithBufferSize(n int) *BufferPeer

func (*BufferPeer) WithConsumer added in v0.5.0

func (bp *BufferPeer) WithConsumer(f func(b []byte) error) *BufferPeer

This consumer will NOT be triggered in parallel.

func (*BufferPeer) WithWriteTimeout added in v0.5.0

func (bp *BufferPeer) WithWriteTimeout(ms int) *BufferPeer

type SafePeer

type SafePeer struct {
	*BasicPeer
	// contains filtered or unexported fields
}

func NewSafePeer

func NewSafePeer(gs rua.GameServer) *SafePeer

func (*SafePeer) Lock

func (sp *SafePeer) Lock()

func (*SafePeer) OnCloseSafe

func (sp *SafePeer) OnCloseSafe(f func() error) *SafePeer

This hook can be safely triggered concurrently.

func (*SafePeer) OnStartSafe

func (sp *SafePeer) OnStartSafe(f func()) *SafePeer

This hook can be safely triggered concurrently.

func (*SafePeer) OnWriteSafe

func (sp *SafePeer) OnWriteSafe(f func([]byte) error) *SafePeer

This hook can be safely triggered concurrently.

func (*SafePeer) Unlock

func (sp *SafePeer) Unlock()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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