Documentation ¶
Overview ¶
Package backend contains implementation of various backend providers.
- Copyright (c) 2018-2024, NVIDIA CORPORATION. All rights reserved.
Package backend contains implementation of various backend providers.
- Copyright (c) 2018-2024, NVIDIA CORPORATION. All rights reserved.
Package backend contains implementation of various backend providers.
- Copyright (c) 2018-2024, NVIDIA CORPORATION. All rights reserved.
Package backend contains implementation of various backend providers.
- Copyright (c) 2018-2022, NVIDIA CORPORATION. All rights reserved.
Package backend contains implementation of various backend providers.
- Copyright (c) 2018-2024, NVIDIA CORPORATION. All rights reserved.
Package backend contains implementation of various backend providers.
- Copyright (c) 2018-2022, NVIDIA CORPORATION. All rights reserved.
Package backend contains implementation of various backend providers.
- Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
Index ¶
- func AbortMpt(*core.LOM, *http.Request, url.Values, string) (int, error)
- func CompleteMpt(*core.LOM, *http.Request, url.Values, string, *s3types.CompleteMptUpload) (string, int, error)
- func NewAWS(_ core.TargetPut, _ stats.Tracker) (core.Backend, error)
- func NewAzure(_ core.TargetPut, _ stats.Tracker) (core.Backend, error)
- func NewDummyBackend(t core.TargetPut, _ stats.Tracker) (core.Backend, error)
- func NewGCP(_ core.TargetPut, _ stats.Tracker) (core.Backend, error)
- func NewHT(core.TargetPut, *cmn.Config, stats.Tracker) (core.Backend, error)
- func PutMptPart(*core.LOM, io.ReadCloser, *http.Request, url.Values, string, int64, int32) (string, int, error)
- func StartMpt(*core.LOM, *http.Request, url.Values) (string, int, error)
- type AISbp
- func (m *AISbp) Apply(v any, action string, cfg *cmn.ClusterConfig) (err error)
- func (*AISbp) CreateBucket(_ *meta.Bck) (ecode int, err error)
- func (m *AISbp) DeleteObj(lom *core.LOM) (ecode int, err error)
- func (b *AISbp) GetBucketInv(*meta.Bck, *core.LsoInvCtx) (int, error)
- func (m *AISbp) GetInfo(clusterConf cmn.BackendConfAIS) (res meta.RemAisVec)
- func (m *AISbp) GetInfoInternal() (res meta.RemAisVec)
- func (m *AISbp) GetObj(_ context.Context, lom *core.LOM, owt cmn.OWT, _ *http.Request) (ecode int, err error)
- func (m *AISbp) GetObjReader(_ context.Context, lom *core.LOM, offset, length int64) (res core.GetReaderResult)
- func (m *AISbp) HeadBucket(_ context.Context, remoteBck *meta.Bck) (bckProps cos.StrKVs, ecode int, err error)
- func (m *AISbp) HeadObj(_ context.Context, lom *core.LOM, _ *http.Request) (oa *cmn.ObjAttrs, ecode int, err error)
- func (m *AISbp) ListBuckets(qbck cmn.QueryBcks) (bcks cmn.Bcks, ecode int, err error)
- func (m *AISbp) ListObjects(remoteBck *meta.Bck, msg *apc.LsoMsg, lst *cmn.LsoRes) (ecode int, err error)
- func (b *AISbp) ListObjectsInv(*meta.Bck, *apc.LsoMsg, *cmn.LsoRes, *core.LsoInvCtx) error
- func (b *AISbp) MetricName(name string) string
- func (b *AISbp) Provider() string
- func (m *AISbp) PutObj(r io.ReadCloser, lom *core.LOM, _ *http.Request) (ecode int, err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompleteMpt ¶ added in v1.3.22
func NewDummyBackend ¶
func PutMptPart ¶ added in v1.3.22
Types ¶
type AISbp ¶ added in v1.3.23
type AISbp struct {
// contains filtered or unexported fields
}
func (*AISbp) Apply ¶ added in v1.3.23
apply new or updated (attach, detach) cmn.BackendConfAIS configuration
func (*AISbp) CreateBucket ¶ added in v1.3.23
func (*AISbp) GetBucketInv ¶ added in v1.3.23
func (*AISbp) GetInfo ¶ added in v1.3.23
func (m *AISbp) GetInfo(clusterConf cmn.BackendConfAIS) (res meta.RemAisVec)
At the same time a cluster may have registered both types of remote AIS clusters(HTTP and HTTPS). So, the method must use both kinds of clients and select the correct one at the moment it sends a request. See also: GetInfoInternal() TODO: ditto
func (*AISbp) GetInfoInternal ¶ added in v1.3.23
return (m.remote + m.alias) in-memory info wo/ connecting to remote cluster(s) (compare with GetInfo() below) TODO: caller to pass its cached version to optimize-out allocations
func (*AISbp) GetObjReader ¶ added in v1.3.23
func (*AISbp) HeadBucket ¶ added in v1.3.23
func (m *AISbp) HeadBucket(_ context.Context, remoteBck *meta.Bck) (bckProps cos.StrKVs, ecode int, err error)
TODO: remote AIS clusters provide native frontend API with additional capabilities that, in particular, include `dontAddRemote` = (true | false). Here we have to hardcode the value to keep HeadBucket() consistent across all backends. For similar limitations, see also ListBuckets() below.
func (*AISbp) HeadObj ¶ added in v1.3.23
func (m *AISbp) HeadObj(_ context.Context, lom *core.LOM, _ *http.Request) (oa *cmn.ObjAttrs, ecode int, err error)
TODO: remote AIS clusters provide native frontend API with additional capabilities in part including apc.Flt* location specifier. Here, and elsewhere down below, we hardcode (the default) `apc.FltPresent` to, eesentially, keep HeadObj() consistent across backends.