lib/dhcp_server.go (32 lines of code) (raw):
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package dhcplb
import (
"fmt"
"net"
)
// DHCPServer holds information about a single dhcp server
type DHCPServer struct {
Hostname string
Address net.IP
Port int
IsRC bool
}
// NewDHCPServer returns an instance of DHCPServer
func NewDHCPServer(hostname string, ip net.IP, port int) *DHCPServer {
s := DHCPServer{
Hostname: hostname,
Address: ip,
Port: port,
}
return &s
}
func (d *DHCPServer) udpAddr() *net.UDPAddr {
return &net.UDPAddr{
IP: d.Address,
Port: d.Port,
Zone: "",
}
}
func (d *DHCPServer) String() string {
if d.IsRC {
return fmt.Sprintf("Hostname: %s, IP: %s, Port: %d (RC)", d.Hostname, d.Address, d.Port)
}
return fmt.Sprintf("Hostname: %s, IP: %s, Port: %d", d.Hostname, d.Address, d.Port)
}