packet

package
v0.0.0-...-fc4206c Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package packet provides the backbone for a UDP packet server with some opinionated defaults.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Handler

type Handler interface {
	HandlePacket(context.Context, []byte, net.Addr, func([]byte) error) error
}

Handler is the interface for handling packets.

type HandlerFunc

type HandlerFunc func(context.Context, []byte, net.Addr, func([]byte) error) error

HandlerFunc is the Handler func.

func (HandlerFunc) HandlePacket

func (f HandlerFunc) HandlePacket(ctx context.Context, pkt []byte, addr net.Addr, reply func([]byte) error) error

HandlePacket implements the Handler interface.

type Middleware

type Middleware func(next Handler) Handler

Middleware for the HTTP Server.

func MiddlewareFunc

func MiddlewareFunc(middlewareFunc func(next HandlerFunc) HandlerFunc) Middleware

MiddlewareFunc returns middlewareFunc as Middleware.

type Option

type Option interface {
	// contains filtered or unexported methods
}

Option is an option for the stream server.

func WithMiddleware

func WithMiddleware(middleware ...Middleware) Option

WithMiddleware adds middleware.

type Server

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

Server implements a UDP packet server.

func NewServer

func NewServer(handler Handler, opts ...Option) *Server

NewServer instantiates a new packet server with the given options.

func (*Server) AddMiddleware

func (s *Server) AddMiddleware(middleware ...Middleware)

AddMiddleware adds middleware.

func (*Server) GracefulStop

func (s *Server) GracefulStop() error

GracefulStop stops the stream server gracefully.

func (*Server) Serve

func (s *Server) Serve(conn net.PacketConn) error

Jump to

Keyboard shortcuts

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