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-2021, 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-2021, NVIDIA CORPORATION. All rights reserved.
Index ¶
- type Args
- type DataMover
- func (dm *DataMover) ACK(hdr transport.ObjHdr, cb transport.ObjSentCB, tsi *cluster.Snode) error
- func (dm *DataMover) Abort()
- func (dm *DataMover) Bcast(obj *transport.Obj, roc cos.ReadOpenCloser) (err error)
- func (dm *DataMover) Close(err error)
- func (dm *DataMover) CloseIf(err error)
- func (dm *DataMover) GetXact() cluster.Xact
- func (dm *DataMover) NetC() string
- func (dm *DataMover) NetD() string
- func (dm *DataMover) OWT() cmn.OWT
- func (dm *DataMover) Open()
- func (dm *DataMover) Quiesce(d time.Duration) cluster.QuiRes
- func (dm *DataMover) RegRecv() (err error)
- func (dm *DataMover) Send(obj *transport.Obj, roc cos.ReadOpenCloser, tsi *cluster.Snode) (err error)
- func (dm *DataMover) SetXact(xctn cluster.Xact)
- func (dm *DataMover) Smap() *cluster.Smap
- func (dm *DataMover) String() string
- func (dm *DataMover) UnregRecv()
- type Extra
- type Stats
- type Streams
- func (sb *Streams) Abort()
- func (sb *Streams) Close(gracefully bool)
- func (sb *Streams) GetStats() Stats
- func (sb *Streams) ListenSmapChanged()
- func (sb *Streams) Resync()
- func (sb *Streams) Send(obj *transport.Obj, roc cos.ReadOpenCloser, nodes ...*cluster.Snode) (err error)
- func (sb *Streams) Smap() *cluster.Smap
- func (sb *Streams) String() string
- func (sb *Streams) Trname() string
- func (sb *Streams) UsePDU() bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Args ¶
type Args struct {
Net string // one of cmn.KnownNetworks, empty defaults to cmn.NetIntraData
Trname string // transport endpoint name
Extra *transport.Extra // additional parameters
Ntype int // cluster.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 NewDataMover ¶
func NewDataMover(t cluster.Target, trname string, recvCB transport.RecvObj, owt cmn.OWT, extra Extra) (*DataMover, error)
owt is mandatory DM property: a data mover passes the property to `target.PutObject` to make to finalize an object properly after the object is saved to local drives(e.g, PUT the object to the Cloud as well). For DMs that do not create new objects(e.g, rebalance), owt should be set to `OwtMigrate`; all others are expected to have `OwtPut` (see e.g, CopyBucket).
type Extra ¶
type Extra struct {
RecvAck transport.RecvObj
Compression string
Multiplier int
SizePDU int32
MaxHdrSize int32
}
additional (and optional) params for new data mover
type Streams ¶
type Streams struct {
// contains filtered or unexported fields
}
func NewStreams ¶
func (*Streams) Close ¶
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) 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); calls stream.Stop()