sessionmanager

package
v0.2.12 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2020 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PeerManagerFactory

type PeerManagerFactory func(ctx context.Context, id uint64) bssession.SessionPeerManager

PeerManagerFactory generates a new peer manager for a session.

type Session

type Session interface {
	exchange.Fetcher
	ID() uint64
	ReceiveFrom(peer.ID, []cid.Cid, []cid.Cid, []cid.Cid)
}

Session is a session that is managed by the session manager

type SessionFactory

type SessionFactory func(ctx context.Context, id uint64, sprm bssession.SessionPeerManager, sim *bssim.SessionInterestManager, pm bssession.PeerManager, bpm *bsbpm.BlockPresenceManager, notif notifications.PubSub, provSearchDelay time.Duration, rebroadcastDelay delay.D, self peer.ID) Session

SessionFactory generates a new session for the SessionManager to track.

type SessionManager

type SessionManager struct {
	// contains filtered or unexported fields
}

SessionManager is responsible for creating, managing, and dispatching to sessions.

func New

func New(ctx context.Context, sessionFactory SessionFactory, sessionInterestManager *bssim.SessionInterestManager, peerManagerFactory PeerManagerFactory,
	blockPresenceManager *bsbpm.BlockPresenceManager, peerManager bssession.PeerManager, notif notifications.PubSub, self peer.ID) *SessionManager

New creates a new SessionManager.

func (*SessionManager) GetNextSessionID

func (sm *SessionManager) GetNextSessionID() uint64

GetNextSessionID returns the next sequential identifier for a session.

func (*SessionManager) NewSession

func (sm *SessionManager) NewSession(ctx context.Context,
	provSearchDelay time.Duration,
	rebroadcastDelay delay.D) exchange.Fetcher

NewSession initializes a session with the given context, and adds to the session manager.

func (*SessionManager) ReceiveFrom

func (sm *SessionManager) ReceiveFrom(p peer.ID, blks []cid.Cid, haves []cid.Cid, dontHaves []cid.Cid) []Session

Jump to

Keyboard shortcuts

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