tcpserver

package module
v0.2.14 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2024 License: MIT Imports: 9 Imported by: 0

README

tcpserver

Installation

$: go get github.com/x-mod/tcpserver

Quick Start

import (
    "net"
    "log"
	"context"
	"github.com/x-mod/tcpserver"
)

func EchoHandler(ctx context.Context, con net.Conn) error {
    //TODO LOGIC
    return nil
}

func main() {
	srv := tcpserver.New(
		tcpserver.Address(":8080"),
		//tcpserver.TLSConfig(tlsconfig),
		tcpserver.TCPHandler(EchoHandler),
	)
	if err := srv.Serve(context.TODO()); err != nil {
		log.Println("tcpserver failed:", err)
	}
}

More Details, Pls check the example.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Handler

type Handler func(ctx context.Context, conn net.Conn) error

Handler connection handler definition

type Server

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

Server represent tcpserver

func New added in v0.2.0

func New(opts ...ServerOpt) *Server

NewServer create a new tcpserver

func (*Server) Close added in v0.1.1

func (srv *Server) Close() <-chan struct{}

Close tcpserver waiting all connections finished

func (*Server) IsServing added in v0.2.12

func (srv *Server) IsServing() bool

func (*Server) IsStopped added in v0.2.12

func (srv *Server) IsStopped() bool

func (*Server) Open added in v0.2.13

func (srv *Server) Open() error

func (*Server) Serve

func (srv *Server) Serve(ctx context.Context) error

Serve tcpserver serving

func (*Server) Serving added in v0.2.10

func (srv *Server) Serving() <-chan struct{}

Serving check

func (*Server) Stopped added in v0.2.12

func (srv *Server) Stopped() <-chan struct{}

type ServerOpt

type ServerOpt func(*Server)

ServerOpt typedef

func Address

func Address(addr string) ServerOpt

Address option for listener

func Listener added in v0.2.0

func Listener(ln net.Listener) ServerOpt

Listener option for listener

func Name added in v0.2.3

func Name(name string) ServerOpt

Name option for tcpserver

func NetTrace added in v0.2.4

func NetTrace(flag bool) ServerOpt

func Network

func Network(inet string) ServerOpt

Network option for listener

func TCPHandler added in v0.2.0

func TCPHandler(h Handler) ServerOpt

TCPHandler option for Connection Handler

func TLSConfig added in v0.2.2

func TLSConfig(tls *tls.Config) ServerOpt

TLSConfig option

Directories

Path Synopsis
example

Jump to

Keyboard shortcuts

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