shadow

package
v0.0.0-...-d0dabfa Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2020 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TAG_INFORM_RECV     = "INFORM_RECV"
	TAG_SHADOW_REGISTER = "SHADOW_REGISTER"
)

Variables

View Source
var ErrWrongRole = fmt.Errorf("Wrong role.") //shadow function called at normal peer or vice versa.

Functions

func ConnectShadow

func ConnectShadow(shadowIp string, shadowPort int, node *core.IpfsNode) error

Used to connect to shadow peer using tcp dial

Types

type ShadowNotifee

type ShadowNotifee ShadowService

func (*ShadowNotifee) ClosedStream

func (sn *ShadowNotifee) ClosedStream(net network.Network, str network.Stream)

func (*ShadowNotifee) Connected

func (sn *ShadowNotifee) Connected(net network.Network, conn network.Conn)

func (*ShadowNotifee) Disconnected

func (sn *ShadowNotifee) Disconnected(net network.Network, conn network.Conn)

func (*ShadowNotifee) Listen

func (*ShadowNotifee) Listen(net network.Network, addr ma.Multiaddr)

func (*ShadowNotifee) ListenClose

func (*ShadowNotifee) ListenClose(net network.Network, addr ma.Multiaddr)

func (*ShadowNotifee) OpenedStream

func (sn *ShadowNotifee) OpenedStream(net network.Network, str network.Stream)

type ShadowService

type ShadowService struct {

	// TODO: REMOVE THIS AFTER TEST!!!
	Shadow_serve_peer string
	// contains filtered or unexported fields
}

func NewShadowService

func NewShadowService(
	account *keypair.Full,
	node func() *core.IpfsNode,
	datastore repo.Datastore,
	msgRecv func(*pb.Envelope, peer.ID) error,
	isShadow bool,
	address string,
	createTCPPool func(),
) *ShadowService

func (*ShadowService) GetShadow

func (h *ShadowService) GetShadow() peer.ID

func (*ShadowService) GetShadowIp

func (h *ShadowService) GetShadowIp() string

func (*ShadowService) Handle

func (h *ShadowService) Handle(env *pb.Envelope, pid peer.ID) (*pb.Envelope, error)

Handle is called by the underlying service handler method

func (*ShadowService) HandleStream

func (h *ShadowService) HandleStream(env *pb.Envelope, pid peer.ID) (chan *pb.Envelope, chan error, chan interface{})

HandleStream is called by the underlying service handler method

func (*ShadowService) Loggable

func (h *ShadowService) Loggable() map[string]interface{}

Retuen the stat of ShadowService

func (*ShadowService) PeerConnected

func (h *ShadowService) PeerConnected(pid peer.ID, multiaddr ma.Multiaddr) error

TODO: automatically connect to the shadow node

It informs the remote peer that "Here is a shadow peer."
Avoid to call it multi time for the same peer!!

func (*ShadowService) PeerDisconnected

func (h *ShadowService) PeerDisconnected(pid peer.ID) error

TODO: if the shadow node is disconnected, modify the work mode

func (*ShadowService) Ping

func (h *ShadowService) Ping(pid peer.ID) (service.PeerStatus, error)

Ping pings another peer

func (*ShadowService) Protocol

func (h *ShadowService) Protocol() protocol.ID

Protocol returns the handler protocol

func (*ShadowService) PushStreamMeta

func (h *ShadowService) PushStreamMeta(meta *pb.StreamMeta, useronly bool) error

useronly: whether this stream is created by this peer.

func (*ShadowService) RegisterShadow

func (h *ShadowService) RegisterShadow(id peer.ID, ip string) error

func (*ShadowService) ShadowStat

func (h *ShadowService) ShadowStat() *pb.ShadowStat

func (*ShadowService) Start

func (h *ShadowService) Start()

Start begins online services

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL