mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 20:54:02 +03:00
FILE / ScuroNeko/mtg
wrappers/interfaces.go
Исходный файл и его история в репозитории.
118 lines
1.6 KiB
Go
118 lines
1.6 KiB
Go
package wrappers
|
|
|
|
import (
|
|
"io"
|
|
"net"
|
|
"time"
|
|
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type Packet []byte
|
|
|
|
// Wrap is a base interface for all wrappers in this package.
|
|
type Wrap interface {
|
|
Conn() net.Conn
|
|
Logger() *zap.SugaredLogger
|
|
LocalAddr() *net.TCPAddr
|
|
RemoteAddr() *net.TCPAddr
|
|
}
|
|
|
|
type BaseReaderWithTimeout interface {
|
|
ReadTimeout([]byte, time.Duration) (int, error)
|
|
}
|
|
|
|
type BaseWriterWithTimeout interface {
|
|
WriteTimeout([]byte, time.Duration) (int, error)
|
|
}
|
|
|
|
type BasePacketReader interface {
|
|
Read() (Packet, error)
|
|
}
|
|
|
|
type BasePacketWriter interface {
|
|
Write(Packet) error
|
|
}
|
|
|
|
type StreamReader interface {
|
|
Wrap
|
|
io.Reader
|
|
BaseReaderWithTimeout
|
|
}
|
|
|
|
type StreamWriter interface {
|
|
Wrap
|
|
io.Writer
|
|
BaseWriterWithTimeout
|
|
}
|
|
|
|
type StreamCloser interface {
|
|
Wrap
|
|
io.Closer
|
|
}
|
|
|
|
type StreamReadCloser interface {
|
|
Wrap
|
|
io.ReadCloser
|
|
BaseReaderWithTimeout
|
|
}
|
|
|
|
type StreamWriteCloser interface {
|
|
Wrap
|
|
io.WriteCloser
|
|
BaseWriterWithTimeout
|
|
}
|
|
|
|
type StreamReadWriter interface {
|
|
Wrap
|
|
io.ReadWriter
|
|
BaseReaderWithTimeout
|
|
}
|
|
|
|
type StreamReadWriteCloser interface {
|
|
Wrap
|
|
io.ReadWriteCloser
|
|
BaseReaderWithTimeout
|
|
BaseWriterWithTimeout
|
|
}
|
|
|
|
type PacketReader interface {
|
|
Wrap
|
|
BasePacketReader
|
|
}
|
|
|
|
type PacketWriter interface {
|
|
Wrap
|
|
BasePacketWriter
|
|
}
|
|
|
|
type PacketCloser interface {
|
|
Wrap
|
|
io.Closer
|
|
}
|
|
|
|
type PacketReadCloser interface {
|
|
Wrap
|
|
BasePacketReader
|
|
io.Closer
|
|
}
|
|
|
|
type PacketWriteCloser interface {
|
|
Wrap
|
|
BasePacketWriter
|
|
io.Closer
|
|
}
|
|
|
|
type PacketReadWriter interface {
|
|
Wrap
|
|
BasePacketWriter
|
|
BasePacketReader
|
|
}
|
|
|
|
type PacketReadWriteCloser interface {
|
|
Wrap
|
|
BasePacketWriter
|
|
BasePacketReader
|
|
io.Closer
|
|
}
|