refactor: split overlay.go to extract network overlay stuff

This commit is contained in:
Matthias Radestock committed 2015-11-09 15:47:08 +00:00
1 parent 7cc0052451
commit daad190188
2 files changed
+46 -45

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
package router
// Interface to overlay network packet handling
type NetworkOverlay interface {
Overlay
// The routes have changed, so any cached information should
// be discarded.
InvalidateRoutes()
// A mapping of a short id to a peer has changed
InvalidateShortIDs()
// Start consuming forwarded packets.
StartConsumingPackets(*Peer, *Peers, OverlayConsumer) error
}
// When a consumer is called, the decoder will already have been used
// to decode the frame.
type OverlayConsumer func(ForwardPacketKey) FlowOp
// All of the machinery to forward packets to a particular peer
type OverlayForwarder interface {
OverlayConnection
// Forward a packet across the connection. May be called as soon
// as the overlay connection is created, in particular before
// Confirm(). The return value nil means the key could not be
// handled by this forwarder.
Forward(ForwardPacketKey) FlowOp
}
type NullNetworkOverlay struct{ NullOverlay }
func (NullNetworkOverlay) InvalidateRoutes() {
}
func (NullNetworkOverlay) InvalidateShortIDs() {
}
func (NullNetworkOverlay) StartConsumingPackets(*Peer, *Peers, OverlayConsumer) error {
return nil
}
func (NullNetworkOverlay) Forward(ForwardPacketKey) FlowOp {
return DiscardingFlowOp{}
}
-45
View File
@@ -16,21 +16,6 @@ type Overlay interface {
Diagnostics() interface{}
}
// Interface to overlay network packet handling
type NetworkOverlay interface {
Overlay
// The routes have changed, so any cached information should
// be discarded.
InvalidateRoutes()
// A mapping of a short id to a peer has changed
InvalidateShortIDs()
// Start consuming forwarded packets.
StartConsumingPackets(*Peer, *Peers, OverlayConsumer) error
}
type OverlayConnectionParams struct {
RemotePeer *Peer
@@ -62,10 +47,6 @@ type OverlayConnectionParams struct {
Features map[string]string
}
// When a consumer is called, the decoder will already have been used
// to decode the frame.
type OverlayConsumer func(ForwardPacketKey) FlowOp
// All of the machinery to manage overlay connectivity to a particular
// peer
type OverlayConnection interface {
@@ -95,16 +76,6 @@ type OverlayConnection interface {
DisplayName() string
}
// All of the machinery to forward packets to a particular peer
type OverlayForwarder interface {
OverlayConnection
// Forward a packet across the connection. May be called as soon
// as the overlay connection is created, in particular before
// Confirm(). The return value nil means the key could not be
// handled by this forwarder.
Forward(ForwardPacketKey) FlowOp
}
type NullOverlay struct{}
func (NullOverlay) AddFeaturesTo(map[string]string) {
@@ -137,19 +108,3 @@ func (NullOverlay) ControlMessage(byte, []byte) {
func (NullOverlay) DisplayName() string {
return "null"
}
type NullNetworkOverlay struct{ NullOverlay }
func (NullNetworkOverlay) InvalidateRoutes() {
}
func (NullNetworkOverlay) InvalidateShortIDs() {
}
func (NullNetworkOverlay) StartConsumingPackets(*Peer, *Peers, OverlayConsumer) error {
return nil
}
func (NullNetworkOverlay) Forward(ForwardPacketKey) FlowOp {
return DiscardingFlowOp{}
}