Documentation
¶
Index ¶
- Variables
- func IntToPublicIPv4(n int) net.IP
- type ConnStats
- type DelayedPacketReciever
- type FixedLatencyRouter
- type Packet
- type PacketReciever
- type PerfectRouter
- type Router
- type SimConn
- func (c *SimConn) Close() error
- func (c *SimConn) LocalAddr() net.Addr
- func (c *SimConn) ReadFrom(p []byte) (n int, addr net.Addr, err error)
- func (c *SimConn) RecvPacket(p Packet)
- func (c *SimConn) SetDeadline(t time.Time) error
- func (c *SimConn) SetLocalAddr(addr net.Addr)
- func (c *SimConn) SetReadDeadline(t time.Time) error
- func (c *SimConn) SetWriteDeadline(t time.Time) error
- func (c *SimConn) Stats() ConnStats
- func (c *SimConn) UnicastAddr() net.Addr
- func (c *SimConn) WriteTo(p []byte, addr net.Addr) (n int, err error)
- type SimpleFirewallRouter
- func (r *SimpleFirewallRouter) AddNode(addr net.Addr, conn *SimConn)
- func (r *SimpleFirewallRouter) AddPubliclyReachableNode(addr net.Addr, conn *SimConn)
- func (r *SimpleFirewallRouter) RemoveNode(addr net.Addr)
- func (r *SimpleFirewallRouter) SendPacket(p Packet) error
- func (r *SimpleFirewallRouter) String() string
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrDeadlineExceeded = errors.New("deadline exceeded")
Functions ¶
func IntToPublicIPv4 ¶
Types ¶
type DelayedPacketReciever ¶
type DelayedPacketReciever struct {
// contains filtered or unexported fields
}
func (*DelayedPacketReciever) RecvPacket ¶
func (r *DelayedPacketReciever) RecvPacket(p Packet)
type FixedLatencyRouter ¶
type FixedLatencyRouter struct { PerfectRouter // contains filtered or unexported fields }
func (*FixedLatencyRouter) AddNode ¶
func (r *FixedLatencyRouter) AddNode(addr net.Addr, conn PacketReciever)
func (*FixedLatencyRouter) SendPacket ¶
func (r *FixedLatencyRouter) SendPacket(p Packet) error
type PacketReciever ¶
type PacketReciever interface {
RecvPacket(p Packet)
}
type PerfectRouter ¶
type PerfectRouter struct {
// contains filtered or unexported fields
}
PerfectRouter is a router that has no latency or jitter and can route to every node
func (*PerfectRouter) AddNode ¶
func (r *PerfectRouter) AddNode(addr net.Addr, conn PacketReciever)
func (*PerfectRouter) RemoveNode ¶
func (r *PerfectRouter) RemoveNode(addr net.Addr)
func (*PerfectRouter) SendPacket ¶
func (r *PerfectRouter) SendPacket(p Packet) error
SendPacket implements Router.
type SimConn ¶
type SimConn struct {
// contains filtered or unexported fields
}
func NewSimConn ¶
NewSimConn creates a new simulated connection with the specified parameters
func (*SimConn) RecvPacket ¶
func (*SimConn) SetDeadline ¶
SetDeadline implements net.PacketConn
func (*SimConn) SetLocalAddr ¶
SetLocalAddr only changes what `.LocalAddr()` returns. Packets will still come From the initially configured addr.
func (*SimConn) SetReadDeadline ¶
SetReadDeadline implements net.PacketConn
func (*SimConn) SetWriteDeadline ¶
SetWriteDeadline implements net.PacketConn
func (*SimConn) UnicastAddr ¶
type SimpleFirewallRouter ¶
type SimpleFirewallRouter struct {
// contains filtered or unexported fields
}
func (*SimpleFirewallRouter) AddNode ¶
func (r *SimpleFirewallRouter) AddNode(addr net.Addr, conn *SimConn)
func (*SimpleFirewallRouter) AddPubliclyReachableNode ¶
func (r *SimpleFirewallRouter) AddPubliclyReachableNode(addr net.Addr, conn *SimConn)
func (*SimpleFirewallRouter) RemoveNode ¶
func (r *SimpleFirewallRouter) RemoveNode(addr net.Addr)
func (*SimpleFirewallRouter) SendPacket ¶
func (r *SimpleFirewallRouter) SendPacket(p Packet) error
func (*SimpleFirewallRouter) String ¶
func (r *SimpleFirewallRouter) String() string
Click to show internal directories.
Click to hide internal directories.