gfspclient

package
v0.2.3-test.oss Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2023 License: GPL-3.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MaxClientCallMsgSize defines the max message size for grpc client
	MaxClientCallMsgSize = 3 * 1024 * 1024 * 1024
	// ClientCodeSpace defines the code space for gfsp client
	ClientCodeSpace = "GfSpClient"
	// HttpMaxIdleConns defines the max idle connections for HTTP server
	HttpMaxIdleConns = 20
	// HttpIdleConnTimout defines the idle time of connection for closing
	HttpIdleConnTimout = 60 * time.Second

	// DefaultStreamBufSize defines gateway stream forward payload buf size
	DefaultStreamBufSize = 16 * 1024 * 1024
)
View Source
const (
	// ReplicateObjectPiecePath defines replicate-object path style
	ReplicateObjectPiecePath = "/greenfield/receiver/v1/replicate-piece"
	// GnfdReplicatePieceApprovalHeader defines secondary approved msg for replicating piece
	GnfdReplicatePieceApprovalHeader = "X-Gnfd-Replicate-Piece-Approval-Msg"
	// GnfdReceiveMsgHeader defines receive piece data meta
	GnfdReceiveMsgHeader = "X-Gnfd-Receive-Msg"
	// GnfdIntegrityHashHeader defines integrity hash, which is used by challenge and receiver
	GnfdIntegrityHashHeader = "X-Gnfd-Integrity-Hash"
	// GnfdIntegrityHashSignatureHeader defines integrity hash signature, which is used by receiver
	GnfdIntegrityHashSignatureHeader = "X-Gnfd-Integrity-Hash-Signature"
	//RecoveryObjectPiecePath defines recovery-object path style
	RecoveryObjectPiecePath = "/greenfield/recovery/v1/get-piece"
	// GnfdRecoveryMsgHeader defines receive piece data meta
	GnfdRecoveryMsgHeader = "X-Gnfd-Recovery-Msg"
)

spilt server and client const definition avoids circular references TODO:: extract the common parts of http to the gfsp app layer

Variables

View Source
var (
	ErrRpcUnknown       = gfsperrors.Register(ClientCodeSpace, http.StatusNotFound, 98001, "server slipped away, try again later")
	ErrExceptionsStream = gfsperrors.Register(ClientCodeSpace, http.StatusBadRequest, 98002, "stream closed abnormally")
	ErrTypeMismatch     = gfsperrors.Register(ClientCodeSpace, http.StatusBadRequest, 98101, "response type mismatch")
	ErrNoSuchObject     = gfsperrors.Register(ClientCodeSpace, http.StatusBadRequest, 98093, "no such object from metadata")
)

Functions

func DefaultClientOptions

func DefaultClientOptions() []grpc.DialOption

Types

type GfSpClient

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

func NewGfSpClient

func NewGfSpClient(
	approverEndpoint string,
	managerEndpoint string,
	downloaderEndpoint string,
	receiverEndpoint string,
	metadataEndpoint string,
	uploaderEndpoint string,
	p2pEndpoint string,
	signerEndpoint string,
	authenticatorEndpoint string,
	metrics bool) *GfSpClient

func (*GfSpClient) ApproverConn

func (s *GfSpClient) ApproverConn(ctx context.Context, opts ...grpc.DialOption) (*grpc.ClientConn, error)

func (*GfSpClient) AskSecondaryReplicatePieceApproval

func (s *GfSpClient) AskSecondaryReplicatePieceApproval(ctx context.Context, task coretask.ApprovalReplicatePieceTask,
	low, high int, timeout int64) ([]*gfsptask.GfSpReplicatePieceApprovalTask, error)

func (*GfSpClient) AskTask

func (s *GfSpClient) AskTask(ctx context.Context, limit corercmgr.Limit) (coretask.Task, error)

func (*GfSpClient) Close

func (s *GfSpClient) Close() error

func (*GfSpClient) Connection

func (s *GfSpClient) Connection(ctx context.Context, address string, opts ...grpc.DialOption) (*grpc.ClientConn, error)

func (*GfSpClient) CreateResumableUploadObject added in v0.2.3

func (s *GfSpClient) CreateResumableUploadObject(ctx context.Context, task coretask.ResumableUploadObjectTask) error

func (*GfSpClient) CreateUploadObject

func (s *GfSpClient) CreateUploadObject(ctx context.Context, task coretask.UploadObjectTask) error

func (*GfSpClient) DiscontinueBucket

func (s *GfSpClient) DiscontinueBucket(ctx context.Context, bucket *storagetypes.MsgDiscontinueBucket) (string, error)

func (*GfSpClient) DoneReplicatePiece

func (s *GfSpClient) DoneReplicatePiece(ctx context.Context, task coretask.ReceivePieceTask, opts ...grpc.DialOption) (
	[]byte, []byte, error)

func (*GfSpClient) DoneReplicatePieceToSecondary

func (s *GfSpClient) DoneReplicatePieceToSecondary(ctx context.Context, endpoint string, approval coretask.ApprovalReplicatePieceTask,
	receive coretask.ReceivePieceTask) ([]byte, []byte, error)

func (*GfSpClient) DownloaderConn

func (s *GfSpClient) DownloaderConn(ctx context.Context, opts ...grpc.DialOption) (*grpc.ClientConn, error)

func (*GfSpClient) GetAuthNonce

func (s *GfSpClient) GetAuthNonce(ctx context.Context, account string, domain string, opts ...grpc.CallOption) (currentNonce int32, nextNonce int32, currentPublicKey string, expiryDate int64, err error)

GetAuthNonce get the auth nonce for which the Dapp or client can generate EDDSA key pairs.

func (*GfSpClient) GetBucketByBucketID

func (s *GfSpClient) GetBucketByBucketID(ctx context.Context, bucketId int64, includePrivate bool,
	opts ...grpc.DialOption) (*types.Bucket, error)

GetBucketByBucketID get bucket info by a bucket id

func (*GfSpClient) GetBucketByBucketName

func (s *GfSpClient) GetBucketByBucketName(ctx context.Context, bucketName string, includePrivate bool,
	opts ...grpc.DialOption) (*types.Bucket, error)

GetBucketByBucketName get bucket info by a bucket name

func (*GfSpClient) GetBucketMeta

func (s *GfSpClient) GetBucketMeta(ctx context.Context, bucketName string, includePrivate bool,
	opts ...grpc.DialOption) (*types.Bucket, *payment_types.StreamRecord, error)

GetBucketMeta get bucket info along with its related info such as payment

func (*GfSpClient) GetBucketReadQuota

func (s *GfSpClient) GetBucketReadQuota(ctx context.Context, bucket *storage_types.BucketInfo, yearMonth string, opts ...grpc.DialOption) (
	uint64, uint64, uint64, error)

func (*GfSpClient) GetChallengeInfo

func (s *GfSpClient) GetChallengeInfo(ctx context.Context, challengePieceTask coretask.ChallengePieceTask, opts ...grpc.DialOption) (
	[]byte, [][]byte, []byte, error)

func (*GfSpClient) GetEndpointBySpAddress

func (s *GfSpClient) GetEndpointBySpAddress(ctx context.Context, spAddress string, opts ...grpc.DialOption) (string, error)

GetEndpointBySpAddress get endpoint by sp address

func (*GfSpClient) GetGroupList

func (s *GfSpClient) GetGroupList(
	ctx context.Context,
	name string,
	prefix string,
	sourceType string,
	limit int64,
	offset int64,
	includeRemoved bool,
	opts ...grpc.DialOption) ([]*types.Group, int64, error)

func (*GfSpClient) GetObject

func (s *GfSpClient) GetObject(ctx context.Context, downloadObjectTask coretask.DownloadObjectTask, opts ...grpc.DialOption) (
	[]byte, error)

func (*GfSpClient) GetObjectByID added in v0.2.3

func (s *GfSpClient) GetObjectByID(ctx context.Context, objectID uint64, opts ...grpc.DialOption) (*storage_types.ObjectInfo, error)

func (*GfSpClient) GetObjectMeta

func (s *GfSpClient) GetObjectMeta(ctx context.Context, objectName string, bucketName string,
	includePrivate bool, opts ...grpc.DialOption) (*types.Object, error)

GetObjectMeta get object metadata

func (*GfSpClient) GetPaymentByBucketID

func (s *GfSpClient) GetPaymentByBucketID(ctx context.Context, bucketID int64, includePrivate bool,
	opts ...grpc.DialOption) (*payment_types.StreamRecord, error)

GetPaymentByBucketID get bucket payment info by a bucket id

func (*GfSpClient) GetPaymentByBucketName

func (s *GfSpClient) GetPaymentByBucketName(ctx context.Context, bucketName string, includePrivate bool,
	opts ...grpc.DialOption) (*payment_types.StreamRecord, error)

GetPaymentByBucketName get bucket payment info by a bucket name

func (*GfSpClient) GetPiece

func (s *GfSpClient) GetPiece(ctx context.Context, downloadPieceTask coretask.DownloadPieceTask, opts ...grpc.DialOption) (
	[]byte, error)

func (*GfSpClient) GetPieceFromECChunks added in v0.2.3

func (s *GfSpClient) GetPieceFromECChunks(ctx context.Context, endpoint string, task coretask.RecoveryPieceTask) (io.ReadCloser, error)

func (*GfSpClient) GetUploadObjectSegment added in v0.2.3

func (s *GfSpClient) GetUploadObjectSegment(ctx context.Context, objectID uint64, opts ...grpc.DialOption) (uint32, error)

func (*GfSpClient) GetUploadObjectState

func (s *GfSpClient) GetUploadObjectState(ctx context.Context, objectID uint64, opts ...grpc.DialOption) (int32, string, error)

func (*GfSpClient) GetUserBuckets

func (s *GfSpClient) GetUserBuckets(ctx context.Context, account string, includeRemoved bool, opts ...grpc.DialOption) ([]*types.Bucket, error)

func (*GfSpClient) GetUserBucketsCount

func (s *GfSpClient) GetUserBucketsCount(ctx context.Context, account string, includeRemoved bool, opts ...grpc.DialOption) (int64, error)

func (*GfSpClient) HTTPClient

func (s *GfSpClient) HTTPClient(ctx context.Context) *http.Client

func (*GfSpClient) ListBucketReadRecord

func (s *GfSpClient) ListBucketReadRecord(ctx context.Context, bucket *storage_types.BucketInfo, startTimestampUs,
	endTimestampUs, maxRecordNum int64, opts ...grpc.DialOption) ([]*types.ReadRecord, int64, error)

func (*GfSpClient) ListBucketsByBucketID

func (s *GfSpClient) ListBucketsByBucketID(ctx context.Context, bucketIDs []uint64, includeRemoved bool, opts ...grpc.DialOption) (map[uint64]*types.Bucket, error)

func (*GfSpClient) ListDeletedObjectsByBlockNumberRange

func (s *GfSpClient) ListDeletedObjectsByBlockNumberRange(ctx context.Context, spOperatorAddress string, startBlockNumber uint64,
	endBlockNumber uint64, includePrivate bool, opts ...grpc.DialOption) ([]*types.Object, uint64, error)

func (*GfSpClient) ListExpiredBucketsBySp

func (s *GfSpClient) ListExpiredBucketsBySp(ctx context.Context, createAt int64, primarySpAddress string,
	limit int64, opts ...grpc.DialOption) ([]*types.Bucket, error)

ListExpiredBucketsBySp list buckets that are expired by specific sp

func (*GfSpClient) ListObjectsByBucketName

func (s *GfSpClient) ListObjectsByBucketName(ctx context.Context, bucketName string, accountId string, maxKeys uint64,
	startAfter string, continuationToken string, delimiter string, prefix string, includeRemoved bool, opts ...grpc.DialOption) (
	objects []*types.Object, KeyCount uint64, MaxKeys uint64, IsTruncated bool, NextContinuationToken string,
	Name string, Prefix string, Delimiter string, CommonPrefixes []string, ContinuationToken string, err error)

ListObjectsByBucketName list objects info by a bucket name

func (*GfSpClient) ListObjectsByObjectID

func (s *GfSpClient) ListObjectsByObjectID(ctx context.Context, objectIDs []uint64, includeRemoved bool, opts ...grpc.DialOption) (map[uint64]*types.Object, error)

func (*GfSpClient) ManagerConn

func (s *GfSpClient) ManagerConn(ctx context.Context, opts ...grpc.DialOption) (*grpc.ClientConn, error)

func (*GfSpClient) P2PConn

func (s *GfSpClient) P2PConn(ctx context.Context, opts ...grpc.DialOption) (*grpc.ClientConn, error)

func (*GfSpClient) QueryP2PBootstrap

func (s *GfSpClient) QueryP2PBootstrap(ctx context.Context) ([]string, error)

func (*GfSpClient) QueryTasks

func (s *GfSpClient) QueryTasks(ctx context.Context, endpoint string, subKey string) ([]string, error)

func (*GfSpClient) RejectUnSealObject

func (s *GfSpClient) RejectUnSealObject(
	ctx context.Context,
	object *storagetypes.MsgRejectSealObject) (string, error)

func (*GfSpClient) ReplicatePiece

func (s *GfSpClient) ReplicatePiece(ctx context.Context, task coretask.ReceivePieceTask, data []byte,
	opts ...grpc.DialOption) error

func (*GfSpClient) ReplicatePieceToSecondary

func (s *GfSpClient) ReplicatePieceToSecondary(
	ctx context.Context,
	endpoint string,
	approval coretask.ApprovalReplicatePieceTask,
	receive coretask.ReceivePieceTask,
	data []byte) error

func (*GfSpClient) ReportTask

func (s *GfSpClient) ReportTask(ctx context.Context, report coretask.Task) error

func (*GfSpClient) ResumableUploadObject added in v0.2.3

func (s *GfSpClient) ResumableUploadObject(ctx context.Context, task coretask.ResumableUploadObjectTask, stream io.Reader) error

func (*GfSpClient) SealObject

func (s *GfSpClient) SealObject(ctx context.Context, object *storagetypes.MsgSealObject) (string, error)

func (*GfSpClient) SignCreateBucketApproval

func (s *GfSpClient) SignCreateBucketApproval(ctx context.Context, bucket *storagetypes.MsgCreateBucket) (
	[]byte, error)

func (*GfSpClient) SignCreateObjectApproval

func (s *GfSpClient) SignCreateObjectApproval(ctx context.Context, object *storagetypes.MsgCreateObject) ([]byte, error)

func (*GfSpClient) SignIntegrityHash

func (s *GfSpClient) SignIntegrityHash(ctx context.Context, objectID uint64, checksums [][]byte) ([]byte, []byte, error)

func (*GfSpClient) SignP2PPingMsg

func (s *GfSpClient) SignP2PPingMsg(ctx context.Context, ping *gfspp2p.GfSpPing) ([]byte, error)

func (*GfSpClient) SignP2PPongMsg

func (s *GfSpClient) SignP2PPongMsg(ctx context.Context, pong *gfspp2p.GfSpPong) ([]byte, error)

func (*GfSpClient) SignReceiveTask

func (s *GfSpClient) SignReceiveTask(ctx context.Context, receiveTask coretask.ReceivePieceTask) ([]byte, error)

func (*GfSpClient) SignRecoveryTask added in v0.2.3

func (s *GfSpClient) SignRecoveryTask(ctx context.Context, recoveryTask coretask.RecoveryPieceTask) ([]byte, error)

func (*GfSpClient) SignReplicatePieceApproval

func (s *GfSpClient) SignReplicatePieceApproval(ctx context.Context, task coretask.ApprovalReplicatePieceTask) ([]byte, error)

func (*GfSpClient) SignerConn

func (s *GfSpClient) SignerConn(ctx context.Context, opts ...grpc.DialOption) (*grpc.ClientConn, error)

func (*GfSpClient) UpdateUserPublicKey

func (s *GfSpClient) UpdateUserPublicKey(ctx context.Context, account string, domain string, currentNonce int32, nonce int32, userPublicKey string, expiryDate int64, opts ...grpc.CallOption) (bool, error)

UpdateUserPublicKey updates the user public key once the Dapp or client generates the EDDSA key pairs.

func (*GfSpClient) UploadObject

func (s *GfSpClient) UploadObject(ctx context.Context, task coretask.UploadObjectTask, stream io.Reader) error

func (*GfSpClient) VerifyAuthentication

func (s *GfSpClient) VerifyAuthentication(ctx context.Context, auth coremodule.AuthOpType, account, bucket, object string) (bool, error)

func (*GfSpClient) VerifyOffChainSignature

func (s *GfSpClient) VerifyOffChainSignature(ctx context.Context, account string, domain string, offChainSig string, realMsgToSign string, opts ...grpc.CallOption) (bool, error)

VerifyOffChainSignature verifies the signature signed by user's EDDSA private key.

func (*GfSpClient) VerifyPermission

func (s *GfSpClient) VerifyPermission(ctx context.Context, Operator string, bucketName string, objectName string,
	actionType permission_types.ActionType, opts ...grpc.DialOption) (*permission_types.Effect, error)

VerifyPermission Verify the input account’s permission to input items

Jump to

Keyboard shortcuts

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