Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DebugLogger ¶
type DebugLogger struct { // Printfer is used for actual output of the logger Printfer }
DebugLogger is a wrapper for Printfer to implement interface Logger. DHCP messages are printed in the long format.
func (DebugLogger) PrintMessage ¶
func (d DebugLogger) PrintMessage(prefix string, message *dhcpv4.DHCPv4)
PrintMessage prints a DHCP message in the long format via predefined Printfer
func (DebugLogger) Printf ¶
func (d DebugLogger) Printf(format string, v ...interface{})
Printf prints a log message as-is via predefined Printfer
type EmptyLogger ¶
type EmptyLogger struct{}
EmptyLogger prints nothing
func (EmptyLogger) PrintMessage ¶
func (e EmptyLogger) PrintMessage(prefix string, message *dhcpv4.DHCPv4)
PrintMessage is just a dummy function that does nothing
func (EmptyLogger) Printf ¶
func (e EmptyLogger) Printf(format string, v ...interface{})
Printf is just a dummy function that does nothing
type Handler ¶
Handler is a type that defines the handler function to be called every time a valid DHCPv4 message is received
type Logger ¶
type Logger interface { // PrintMessage print _all_ DHCP messages PrintMessage(prefix string, message *dhcpv4.DHCPv4) // Printf is use to print the rest debugging information Printf(format string, v ...interface{}) }
Logger is a handler which will be used to output logging messages
type Printfer ¶
type Printfer interface { // Printf is the function for logging output. Arguments are handled in the manner of fmt.Printf. Printf(format string, v ...interface{}) }
Printfer is used for actual output of the logger. For example *log.Logger is a Printfer.
type Server ¶
type Server struct { Handler Handler // contains filtered or unexported fields }
Server represents a DHCPv4 server object
func NewServer ¶
func NewServer(ifname string, addr *net.UDPAddr, handler Handler, opt ...ServerOpt) (*Server, error)
NewServer initializes and returns a new Server object
type ServerOpt ¶
type ServerOpt func(s *Server)
ServerOpt adds optional configuration to a server.
func WithConn ¶
func WithConn(c net.PacketConn) ServerOpt
WithConn configures the server with the given connection.
func WithDebugLogger ¶
func WithDebugLogger() ServerOpt
WithDebugLogger logs multi-line full DHCPv4 messages when sent & received.
func WithLogger ¶
WithLogger set the logger (see interface Logger).
func WithSummaryLogger ¶
func WithSummaryLogger() ServerOpt
WithSummaryLogger logs one-line DHCPv4 message summaries when sent & received.
type ShortSummaryLogger ¶
type ShortSummaryLogger struct { // Printfer is used for actual output of the logger Printfer }
ShortSummaryLogger is a wrapper for Printfer to implement interface Logger. DHCP messages are printed in the short format.
func (ShortSummaryLogger) PrintMessage ¶
func (s ShortSummaryLogger) PrintMessage(prefix string, message *dhcpv4.DHCPv4)
PrintMessage prints a DHCP message in the short format via predefined Printfer
func (ShortSummaryLogger) Printf ¶
func (s ShortSummaryLogger) Printf(format string, v ...interface{})
Printf prints a log message as-is via predefined Printfer