| 12345678910111213141516171819202122232425262728293031323334 |
- package statsd
- import (
- "net"
- "time"
- )
- // udpWriter is an internal class wrapping around management of UDP connection
- type udpWriter struct {
- conn net.Conn
- }
- // New returns a pointer to a new udpWriter given an addr in the format "hostname:port".
- func newUDPWriter(addr string, _ time.Duration) (*udpWriter, error) {
- udpAddr, err := net.ResolveUDPAddr("udp", addr)
- if err != nil {
- return nil, err
- }
- conn, err := net.DialUDP("udp", nil, udpAddr)
- if err != nil {
- return nil, err
- }
- writer := &udpWriter{conn: conn}
- return writer, nil
- }
- // Write data to the UDP connection with no error handling
- func (w *udpWriter) Write(data []byte) (int, error) {
- return w.conn.Write(data)
- }
- func (w *udpWriter) Close() error {
- return w.conn.Close()
- }
|