2015-10-15 17:21:11 -04:00
|
|
|
package sam3
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net"
|
2016-02-10 17:54:17 -05:00
|
|
|
"time"
|
2015-10-15 17:21:11 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
// Implements net.Conn
|
|
|
|
type SAMConn struct {
|
2016-02-10 17:54:17 -05:00
|
|
|
laddr I2PAddr
|
|
|
|
raddr I2PAddr
|
|
|
|
conn net.Conn
|
2015-10-15 17:21:11 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
// Implements net.Conn
|
2018-09-09 01:33:24 -04:00
|
|
|
func (sc SAMConn) Read(buf []byte) (int, error) {
|
2015-10-15 17:21:11 -04:00
|
|
|
n, err := sc.conn.Read(buf)
|
|
|
|
return n, err
|
|
|
|
}
|
|
|
|
|
|
|
|
// Implements net.Conn
|
2018-09-09 01:33:24 -04:00
|
|
|
func (sc SAMConn) Write(buf []byte) (int, error) {
|
2015-10-15 17:21:11 -04:00
|
|
|
n, err := sc.conn.Write(buf)
|
|
|
|
return n, err
|
|
|
|
}
|
|
|
|
|
|
|
|
// Implements net.Conn
|
2018-09-09 01:33:24 -04:00
|
|
|
func (sc SAMConn) Close() error {
|
2015-10-15 17:21:11 -04:00
|
|
|
return sc.conn.Close()
|
|
|
|
}
|
|
|
|
|
2018-11-27 12:25:30 -05:00
|
|
|
func (sc SAMConn) LocalAddr() net.Addr {
|
2016-02-10 17:54:17 -05:00
|
|
|
return sc.localAddr()
|
2015-11-30 12:38:18 -05:00
|
|
|
}
|
|
|
|
|
2015-10-15 17:21:11 -04:00
|
|
|
// Implements net.Conn
|
2018-11-27 12:25:30 -05:00
|
|
|
func (sc SAMConn) localAddr() I2PAddr {
|
2015-10-15 17:21:11 -04:00
|
|
|
return sc.laddr
|
|
|
|
}
|
|
|
|
|
2018-11-27 12:25:30 -05:00
|
|
|
func (sc SAMConn) RemoteAddr() net.Addr {
|
2016-02-10 17:54:17 -05:00
|
|
|
return sc.remoteAddr()
|
2015-11-30 12:38:18 -05:00
|
|
|
}
|
|
|
|
|
2015-10-15 17:21:11 -04:00
|
|
|
// Implements net.Conn
|
2018-11-27 12:25:30 -05:00
|
|
|
func (sc SAMConn) remoteAddr() I2PAddr {
|
2015-10-15 17:21:11 -04:00
|
|
|
return sc.raddr
|
|
|
|
}
|
|
|
|
|
|
|
|
// Implements net.Conn
|
2018-11-27 12:10:38 -05:00
|
|
|
func (sc SAMConn) SetDeadline(t time.Time) error {
|
2015-10-15 17:21:11 -04:00
|
|
|
return sc.conn.SetDeadline(t)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Implements net.Conn
|
2018-11-27 12:25:30 -05:00
|
|
|
func (sc SAMConn) SetReadDeadline(t time.Time) error {
|
2015-10-15 17:21:11 -04:00
|
|
|
return sc.conn.SetReadDeadline(t)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Implements net.Conn
|
2018-11-27 12:25:30 -05:00
|
|
|
func (sc SAMConn) SetWriteDeadline(t time.Time) error {
|
2015-10-15 17:21:11 -04:00
|
|
|
return sc.conn.SetWriteDeadline(t)
|
|
|
|
}
|