mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-30 09:59:13 +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:

committed by
Brian Tiger Chow

parent
c7148cd83c
commit
9849794b07
@ -4,11 +4,13 @@ import (
|
|||||||
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
|
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
|
||||||
|
|
||||||
bsmsg "github.com/jbenet/go-ipfs/bitswap/message"
|
bsmsg "github.com/jbenet/go-ipfs/bitswap/message"
|
||||||
|
inet "github.com/jbenet/go-ipfs/net"
|
||||||
netmsg "github.com/jbenet/go-ipfs/net/message"
|
netmsg "github.com/jbenet/go-ipfs/net/message"
|
||||||
netservice "github.com/jbenet/go-ipfs/net/service"
|
netservice "github.com/jbenet/go-ipfs/net/service"
|
||||||
peer "github.com/jbenet/go-ipfs/peer"
|
peer "github.com/jbenet/go-ipfs/peer"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// NewServiceWrapper handles protobuf marshalling
|
||||||
func NewServiceWrapper(ctx context.Context, r Receiver) Sender {
|
func NewServiceWrapper(ctx context.Context, r Receiver) Sender {
|
||||||
h := &handlerWrapper{r}
|
h := &handlerWrapper{r}
|
||||||
s := netservice.NewService(h)
|
s := netservice.NewService(h)
|
||||||
@ -49,7 +51,7 @@ func (wrapper *handlerWrapper) HandleMessage(
|
|||||||
}
|
}
|
||||||
|
|
||||||
type senderWrapper struct {
|
type senderWrapper struct {
|
||||||
serviceDelegate netservice.Sender
|
serviceDelegate inet.Sender
|
||||||
}
|
}
|
||||||
|
|
||||||
func (wrapper *senderWrapper) SendMessage(
|
func (wrapper *senderWrapper) SendMessage(
|
||||||
|
@ -4,6 +4,8 @@ import (
|
|||||||
msg "github.com/jbenet/go-ipfs/net/message"
|
msg "github.com/jbenet/go-ipfs/net/message"
|
||||||
mux "github.com/jbenet/go-ipfs/net/mux"
|
mux "github.com/jbenet/go-ipfs/net/mux"
|
||||||
peer "github.com/jbenet/go-ipfs/peer"
|
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.
|
// Network is the interface IPFS uses for connecting to the world.
|
||||||
@ -31,3 +33,13 @@ type Network interface {
|
|||||||
// Close terminates all network operation
|
// Close terminates all network operation
|
||||||
Close() error
|
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)
|
||||||
|
}
|
||||||
|
@ -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)
|
|
||||||
}
|
|
Reference in New Issue
Block a user