1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-30 01:52:26 +08:00

Move Sender interface to network pkg

@perfmode sender is exactly what we need to pass in to dht/bitswap.
This commit is contained in:
Juan Batiz-Benet
2014-09-15 17:36:34 -07:00
committed by Brian Tiger Chow
parent c7148cd83c
commit 9849794b07
3 changed files with 15 additions and 12 deletions

View File

@ -4,11 +4,13 @@ import (
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
bsmsg "github.com/jbenet/go-ipfs/bitswap/message"
inet "github.com/jbenet/go-ipfs/net"
netmsg "github.com/jbenet/go-ipfs/net/message"
netservice "github.com/jbenet/go-ipfs/net/service"
peer "github.com/jbenet/go-ipfs/peer"
)
// NewServiceWrapper handles protobuf marshalling
func NewServiceWrapper(ctx context.Context, r Receiver) Sender {
h := &handlerWrapper{r}
s := netservice.NewService(h)
@ -49,7 +51,7 @@ func (wrapper *handlerWrapper) HandleMessage(
}
type senderWrapper struct {
serviceDelegate netservice.Sender
serviceDelegate inet.Sender
}
func (wrapper *senderWrapper) SendMessage(

View File

@ -4,6 +4,8 @@ import (
msg "github.com/jbenet/go-ipfs/net/message"
mux "github.com/jbenet/go-ipfs/net/mux"
peer "github.com/jbenet/go-ipfs/peer"
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
)
// Network is the interface IPFS uses for connecting to the world.
@ -31,3 +33,13 @@ type Network interface {
// Close terminates all network operation
Close() error
}
// Sender interface for network services.
type Sender interface {
// SendMessage sends out a given message, without expecting a response.
SendMessage(ctx context.Context, m msg.NetMessage) error
// SendRequest sends out a given message, and awaits a response.
// Set Deadlines or cancellations in the context.Context you pass in.
SendRequest(ctx context.Context, m msg.NetMessage) (msg.NetMessage, error)
}

View File

@ -1,11 +0,0 @@
package service
import (
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
msg "github.com/jbenet/go-ipfs/net/message"
)
type Sender interface {
SendMessage(ctx context.Context, m msg.NetMessage, rid RequestID) error
SendRequest(ctx context.Context, m msg.NetMessage) (msg.NetMessage, error)
}