func Dial(ctx context.Context, protocol, addr string) (*Conn, error) {
	conn, err := net.Dial(protocol, addr)
	if err != nil {
		return nil, err
	}
	return &Conn{conn}, nil
}
func Dial(ctx context.Context, protocol, addr string) (*Conn, error) {
	conn, err := net.Dial(protocol, addr)
	if err != nil {
		return nil, err
	}
	return &Conn{conn}, nil
}
func Dial ( ctx context . Context , protocol , addr string ) ( * Conn , error ) { conn , err := net . Dial ( protocol , addr ) if err != nil { return nil , err } return & Conn { conn } , nil }
// Dial connects to the address addr on the network protocol.
// The address format is host:port, where host may be a hostname or an IP address.
// Known protocols are "tcp" and "udp".
// The returned connection satisfies net.Conn, and is valid while ctx is valid;
// if the connection is to be used after ctx becomes invalid, invoke SetContext
// with the new context.
Dial connects to the address addr on the network protocol . The address format is host : port where host may be a hostname or an IP address . Known protocols are tcp and udp . The returned connection satisfies net . Conn and is valid while ctx is valid ; if the connection is to be used after ctx becomes invalid invoke SetContext with the new context .