bundle

package
v1.3.27 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package bundle provides multi-streaming transport with the functionality to dynamically (un)register receive endpoints, establish long-lived flows, and more.

  • Copyright (c) 2018-2024, NVIDIA CORPORATION. All rights reserved.

Package bundle provides multi-streaming transport with the functionality to dynamically (un)register receive endpoints, establish long-lived flows, and more.

  • Copyright (c) 2018-2024, NVIDIA CORPORATION. All rights reserved.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsErrDestinationMissing added in v1.3.19

func IsErrDestinationMissing(e error) bool

Types

type Args

type Args struct {
	Extra        *transport.Extra // additional parameters
	Net          string           // one of cmn.KnownNetworks, empty defaults to cmn.NetIntraData
	Trname       string           // transport endpoint name
	Ntype        int              // core.Target (0) by default
	Multiplier   int              // so-many TCP connections per Rx endpoint, with round-robin
	ManualResync bool             // auto-resync by default
}

type DataMover

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

func NewDM added in v1.3.26

func NewDM(trname string, recvCB transport.RecvObj, owt cmn.OWT, extra Extra) *DataMover

func (*DataMover) ACK

func (dm *DataMover) ACK(hdr *transport.ObjHdr, cb transport.ObjSentCB, tsi *meta.Snode) error

func (*DataMover) Abort

func (dm *DataMover) Abort()

func (*DataMover) Bcast

func (dm *DataMover) Bcast(obj *transport.Obj, roc cos.ReadOpenCloser) error

func (*DataMover) Close

func (dm *DataMover) Close(err error)

func (*DataMover) GetXact

func (dm *DataMover) GetXact() core.Xact

func (*DataMover) IsFree added in v1.3.26

func (dm *DataMover) IsFree() bool

func (*DataMover) NetC

func (dm *DataMover) NetC() string

func (*DataMover) NetD

func (dm *DataMover) NetD() string

func (*DataMover) Notif added in v1.3.26

func (dm *DataMover) Notif(hdr *transport.ObjHdr) error

func (*DataMover) OWT

func (dm *DataMover) OWT() cmn.OWT

func (*DataMover) Open

func (dm *DataMover) Open()

func (*DataMover) Quiesce

func (dm *DataMover) Quiesce(d time.Duration) core.QuiRes

quiesce *local* Rx

func (*DataMover) RegRecv

func (dm *DataMover) RegRecv() error

register user's receive-data (and, optionally, receive-ack) wrappers

func (*DataMover) Renew added in v1.3.26

func (dm *DataMover) Renew(trname string, recvCB transport.RecvObj, owt cmn.OWT, extra Extra) *DataMover

when config changes

func (*DataMover) Send

func (dm *DataMover) Send(obj *transport.Obj, roc cos.ReadOpenCloser, tsi *meta.Snode) (err error)

func (*DataMover) SetXact

func (dm *DataMover) SetXact(xctn core.Xact)

xaction that drives and utilizes this data mover

func (*DataMover) String

func (dm *DataMover) String() string

func (*DataMover) UnregRecv

func (dm *DataMover) UnregRecv()

type ErrDestinationMissing added in v1.3.19

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

func (*ErrDestinationMissing) Error added in v1.3.19

func (e *ErrDestinationMissing) Error() string

type Extra

type Extra struct {
	RecvAck     transport.RecvObj
	Config      *cmn.Config
	Compression string
	Multiplier  int
	SizePDU     int32
	MaxHdrSize  int32
}

additional (and optional) params for new data mover instance

type Stats

type Stats map[string]*transport.Stats // by DaemonID

type Streams

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

func New added in v1.3.18

func New(cl transport.Client, args Args) (sb *Streams)

func (*Streams) Abort

func (sb *Streams) Abort()

func (*Streams) Close

func (sb *Streams) Close(gracefully bool)

Close closes all contained streams and unregisters the bundle from Smap listeners; graceful=true blocks until all pending objects get completed (for "completion", see transport/README.md)

func (*Streams) GetStats

func (sb *Streams) GetStats() Stats

func (*Streams) ListenSmapChanged

func (sb *Streams) ListenSmapChanged()

keep streams to => (clustered nodes as per rxNodeType) in sync at all times

func (*Streams) Resync

func (sb *Streams) Resync()

Resync streams asynchronously is a slowpath; is called under lock; NOTE: calls stream.Stop()

func (*Streams) Send

func (sb *Streams) Send(obj *transport.Obj, roc cos.ReadOpenCloser, nodes ...*meta.Snode) (err error)

when (nodes == nil) transmit via all established streams in a bundle otherwise, restrict to the specified subset (nodes)

func (*Streams) Smap

func (sb *Streams) Smap() *meta.Smap

func (*Streams) String

func (sb *Streams) String() string

func (*Streams) Trname

func (sb *Streams) Trname() string

func (*Streams) UsePDU

func (sb *Streams) UsePDU() bool

Jump to

Keyboard shortcuts

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