| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- package net
 
- type Destination interface {
 
- 	Network() string
 
- 	Address() Address
 
- 	String() string
 
- 	IsTCP() bool
 
- 	IsUDP() bool
 
- }
 
- func NewTCPDestination(address Address) Destination {
 
- 	return TCPDestination{address: address}
 
- }
 
- func NewUDPDestination(address Address) Destination {
 
- 	return UDPDestination{address: address}
 
- }
 
- type TCPDestination struct {
 
- 	address Address
 
- }
 
- func (dest TCPDestination) Network() string {
 
- 	return "tcp"
 
- }
 
- func (dest TCPDestination) Address() Address {
 
- 	return dest.address
 
- }
 
- func (dest TCPDestination) String() string {
 
- 	return "tcp:" + dest.address.String()
 
- }
 
- func (dest TCPDestination) IsTCP() bool {
 
- 	return true
 
- }
 
- func (dest TCPDestination) IsUDP() bool {
 
- 	return false
 
- }
 
- type UDPDestination struct {
 
- 	address Address
 
- }
 
- func (dest UDPDestination) Network() string {
 
- 	return "udp"
 
- }
 
- func (dest UDPDestination) Address() Address {
 
- 	return dest.address
 
- }
 
- func (dest UDPDestination) String() string {
 
- 	return "udp:" + dest.address.String()
 
- }
 
- func (dest UDPDestination) IsTCP() bool {
 
- 	return false
 
- }
 
- func (dest UDPDestination) IsUDP() bool {
 
- 	return true
 
- }
 
 
  |