swarm/network: Move registering streamers to streamer constructor

This commit is contained in:
Balint Gabor 2018-01-12 20:00:44 +01:00
parent 8c22fb87bf
commit 2efb994c19
2 changed files with 7 additions and 10 deletions

View file

@ -58,16 +58,6 @@ type RetrieveRequestStreamer struct {
currentLen uint64
}
// RegisterRequestStreamer registers outgoing and incoming streamers for request handling
func RegisterRequestStreamer(streamer *Streamer, db *DbAccess) {
streamer.RegisterOutgoingStreamer(retrieveRequestStream, func(_ *StreamerPeer, t []byte) (OutgoingStreamer, error) {
return NewRetrieveRequestStreamer(db), nil
})
streamer.RegisterIncomingStreamer(retrieveRequestStream, func(p *StreamerPeer, t []byte) (IncomingStreamer, error) {
return NewIncomingSwarmSyncer(p, db, nil)
})
}
// NewRetrieveRequestStreamer is RetrieveRequestStreamer constructor
func NewRetrieveRequestStreamer(db *DbAccess) *RetrieveRequestStreamer {
s := &RetrieveRequestStreamer{

View file

@ -147,6 +147,13 @@ func NewStreamer(overlay Overlay, dbAccess *DbAccess) *Streamer {
receiveC: make(chan *ChunkDeliveryMsg, 10),
peers: make(map[discover.NodeID]*StreamerPeer),
}
streamer.RegisterOutgoingStreamer(retrieveRequestStream, func(_ *StreamerPeer, t []byte) (OutgoingStreamer, error) {
return NewRetrieveRequestStreamer(dbAccess), nil
})
streamer.RegisterIncomingStreamer(retrieveRequestStream, func(p *StreamerPeer, t []byte) (IncomingStreamer, error) {
return NewIncomingSwarmSyncer(p, dbAccess, nil)
})
return streamer
}
// RegisterIncomingStreamer registers an incoming streamer constructor