sdk

package
v1.0.36 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2020 License: MIT Imports: 38 Imported by: 10

Documentation

Index

Constants

View Source
const (
	DOWNLOAD_CONTENT_FULL  = "full"
	DOWNLOAD_CONTENT_THUMB = "thumbnail"
)
View Source
const (
	OpUpload   int = 0
	OpDownload int = 1
	OpRepair   int = 2
	OpUpdate   int = 3
)
View Source
const (
	Upload      = "Upload"
	Download    = "Download"
	Update      = "Update"
	Delete      = "Delete"
	Conflict    = "Conflict"
	LocalDelete = "LocalDelete"
)

For sync app

View Source
const STORAGE_SCADDRESS = "6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d7"

Variables

This section is empty.

Functions

func AddBlockDownloadReq

func AddBlockDownloadReq(req *BlockDownloadRequest)

func AddCommitRequest

func AddCommitRequest(req *CommitRequest)

func CommitToFabric

func CommitToFabric(metaTxnData, fabricConfigJSON string) (string, error)

func CreateAllocation

func CreateAllocation(datashards, parityshards int, size, expiry int64,
	readPrice, writePrice PriceRange, lock int64) (
	string, error)

func CreateAllocationForOwner

func CreateAllocationForOwner(owner, ownerpublickey string,
	datashards, parityshards int,
	size, expiry int64, readPrice, writePrice PriceRange, lock int64,
	preferredBlobbers []string) (string, error)

func CreateReadPool

func CreateReadPool() (err error)

func GetClientEncryptedPublicKey

func GetClientEncryptedPublicKey() (string, error)

func GetVersion

func GetVersion() string

GetVersion - returns version string

func InitBlockDownloader

func InitBlockDownloader(blobbers []*blockchain.StorageNode)

func InitCommitWorker

func InitCommitWorker(blobbers []*blockchain.StorageNode)

func InitStorageSDK

func InitStorageSDK(clientJson string, miners []string, sharders []string, chainID string, signatureScheme string, preferredBlobbers []string) error

func SetLogFile

func SetLogFile(logFile string, verbose bool)

logFile - Log file verbose - true - console output; false - no console output

func SetNumBlockDownloads

func SetNumBlockDownloads(num int)

func UpdateAllocation

func UpdateAllocation(size int64, expiry int64, allocationID string) (string, error)

func WritePoolLock

func WritePoolLock(allocID string, val int64) (resp string, err error)

WritePoolLock lock token for the write pool.

Types

type Allocation

type Allocation struct {
	ID             string                    `json:"id"`
	DataShards     int                       `json:"data_shards"`
	ParityShards   int                       `json:"parity_shards"`
	Size           int64                     `json:"size"`
	Expiration     int64                     `json:"expiration_date"`
	Owner          string                    `json:"owner_id"`
	OwnerPublicKey string                    `json:"owner_public_key"`
	Payer          string                    `json:"payer_id"`
	Blobbers       []*blockchain.StorageNode `json:"blobbers"`
	Stats          *AllocationStats          `json:"stats"`

	// ReadPriceRange is requested reading prices range.
	ReadPriceRange PriceRange `json:"read_price_range"`
	// WritePriceRange is requested writing prices range.
	WritePriceRange PriceRange `json:"write_price_range"`
	// MinLockDemand represents number of tokens required by
	// blobbers to create physical allocation.
	MinLockDemand int64 `json:"min_lock_demand"`
	// ChallengeCompletionTime is max challenge completion time of
	// all blobbers of the allocation.
	ChallengeCompletionTime time.Duration `json:"challenge_completion_time"`
	// contains filtered or unexported fields
}

func GetAllocation

func GetAllocation(allocationID string) (*Allocation, error)

func GetAllocationFromAuthTicket

func GetAllocationFromAuthTicket(authTicket string) (*Allocation, error)

func GetAllocations

func GetAllocations() ([]*Allocation, error)

func GetAllocationsForClient

func GetAllocationsForClient(clientID string) ([]*Allocation, error)

func (*Allocation) CancelDownload

func (a *Allocation) CancelDownload(remotepath string) error

func (*Allocation) CommitMetaTransaction

func (a *Allocation) CommitMetaTransaction(path, crudOperation, authTicket, lookupHash string, fileMeta *ConsolidatedFileMeta) (*MetaTransactionData, error)

func (*Allocation) CopyObject

func (a *Allocation) CopyObject(path string, destPath string) error

func (*Allocation) DeleteFile

func (a *Allocation) DeleteFile(path string) error

func (*Allocation) DownloadFile

func (a *Allocation) DownloadFile(localPath string, remotePath string, status StatusCallback) error

func (*Allocation) DownloadFromAuthTicket

func (a *Allocation) DownloadFromAuthTicket(localPath string, authTicket string, remoteLookupHash string, remoteFilename string, status StatusCallback) error

func (*Allocation) DownloadThumbnail

func (a *Allocation) DownloadThumbnail(localPath string, remotePath string, status StatusCallback) error

func (*Allocation) DownloadThumbnailFromAuthTicket

func (a *Allocation) DownloadThumbnailFromAuthTicket(localPath string, authTicket string, remoteLookupHash string, remoteFilename string, status StatusCallback) error

func (*Allocation) EncryptAndUpdateFile

func (a *Allocation) EncryptAndUpdateFile(localpath string, remotepath string, status StatusCallback) error

func (*Allocation) EncryptAndUpdateFileWithThumbnail

func (a *Allocation) EncryptAndUpdateFileWithThumbnail(localpath string, remotepath string, thumbnailpath string, status StatusCallback) error

func (*Allocation) EncryptAndUploadFile

func (a *Allocation) EncryptAndUploadFile(localpath string, remotepath string, status StatusCallback) error

func (*Allocation) EncryptAndUploadFileWithThumbnail

func (a *Allocation) EncryptAndUploadFileWithThumbnail(localpath string, remotepath string, thumbnailpath string, status StatusCallback) error

func (*Allocation) GetAllocationDiff

func (a *Allocation) GetAllocationDiff(lastSyncCachePath string, localRootPath string, localFileFilters []string, remoteExcludePath []string) ([]FileDiff, error)

func (*Allocation) GetAuthTicket

func (a *Allocation) GetAuthTicket(path string, filename string, referenceType string, refereeClientID string, refereeEncryptionPublicKey string) (string, error)

func (*Allocation) GetAuthTicketForShare

func (a *Allocation) GetAuthTicketForShare(path string, filename string, referenceType string, refereeClientID string) (string, error)

func (*Allocation) GetFileMeta

func (a *Allocation) GetFileMeta(path string) (*ConsolidatedFileMeta, error)

func (*Allocation) GetFileMetaFromAuthTicket

func (a *Allocation) GetFileMetaFromAuthTicket(authTicket string, lookupHash string) (*ConsolidatedFileMeta, error)

func (*Allocation) GetFileStats

func (a *Allocation) GetFileStats(path string) (map[string]*FileStats, error)

func (*Allocation) GetStats

func (a *Allocation) GetStats() *AllocationStats

func (*Allocation) InitAllocation

func (a *Allocation) InitAllocation()

func (*Allocation) ListDir

func (a *Allocation) ListDir(path string) (*ListResult, error)

func (*Allocation) ListDirFromAuthTicket

func (a *Allocation) ListDirFromAuthTicket(authTicket string, lookupHash string) (*ListResult, error)

func (*Allocation) MoveObject

func (a *Allocation) MoveObject(path string, destPath string) error

func (*Allocation) RenameObject

func (a *Allocation) RenameObject(path string, destName string) error

func (*Allocation) RepairFile

func (a *Allocation) RepairFile(localpath string, remotepath string, status StatusCallback) error

func (*Allocation) SaveRemoteSnapshot

func (a *Allocation) SaveRemoteSnapshot(pathToSave string, remoteExcludePath []string) error

SaveRemoteSnapShot - Saves the remote current information to the given file This file can be passed to GetAllocationDiff to exactly find the previous sync state to current.

func (*Allocation) UnderRepair added in v1.0.31

func (a *Allocation) UnderRepair() bool

func (*Allocation) UpdateFile

func (a *Allocation) UpdateFile(localpath string, remotepath string, status StatusCallback) error

func (*Allocation) UpdateFileWithThumbnail

func (a *Allocation) UpdateFileWithThumbnail(localpath string, remotepath string, thumbnailpath string, status StatusCallback) error

func (*Allocation) UpdateRepairStatus added in v1.0.31

func (a *Allocation) UpdateRepairStatus(value bool)

func (*Allocation) UploadFile

func (a *Allocation) UploadFile(localpath string, remotepath string, status StatusCallback) error

func (*Allocation) UploadFileWithThumbnail

func (a *Allocation) UploadFileWithThumbnail(localpath string, remotepath string, thumbnailpath string, status StatusCallback) error

type AllocationStats

type AllocationStats struct {
	UsedSize                  int64  `json:"used_size"`
	NumWrites                 int64  `json:"num_of_writes"`
	NumReads                  int64  `json:"num_of_reads"`
	TotalChallenges           int64  `json:"total_challenges"`
	OpenChallenges            int64  `json:"num_open_challenges"`
	SuccessChallenges         int64  `json:"num_success_challenges"`
	FailedChallenges          int64  `json:"num_failed_challenges"`
	LastestClosedChallengeTxn string `json:"latest_closed_challenge"`
}

type AuthTicket

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

func InitAuthTicket

func InitAuthTicket(authTicket string) *AuthTicket

func (*AuthTicket) GetFileName

func (at *AuthTicket) GetFileName() (string, error)

func (*AuthTicket) GetLookupHash

func (at *AuthTicket) GetLookupHash() (string, error)

func (*AuthTicket) IsDir

func (at *AuthTicket) IsDir() (bool, error)

type BlockDownloadRequest

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

type CommitRequest

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

type CommitResult

type CommitResult struct {
	Success      bool   `json:"success"`
	ErrorMessage string `json:"error_msg,omitempty"`
}

func ErrorCommitResult

func ErrorCommitResult(errMsg string) *CommitResult

func SuccessCommitResult

func SuccessCommitResult() *CommitResult

type Consensus

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

type ConsolidatedFileMeta

type ConsolidatedFileMeta struct {
	Name         string
	Type         string
	Path         string
	LookupHash   string
	Hash         string
	MimeType     string
	Size         int64
	EncryptedKey string
}

type CopyRequest

type CopyRequest struct {
	Consensus
	// contains filtered or unexported fields
}

func (*CopyRequest) ProcessCopy

func (req *CopyRequest) ProcessCopy() error

type DeleteRequest

type DeleteRequest struct {
	Consensus
	// contains filtered or unexported fields
}

func (*DeleteRequest) ProcessDelete

func (req *DeleteRequest) ProcessDelete() error

type DownloadRequest

type DownloadRequest struct {
	Consensus
	// contains filtered or unexported fields
}

type FileDiff

type FileDiff struct {
	Op   string `json:"operation"`
	Path string `json:"path"`
	Type string `json:"type"`
}

type FileStats

type FileStats struct {
	Name                     string `json:"name"`
	Size                     int64  `json:"size"`
	PathHash                 string `json:"path_hash"`
	Path                     string `json:"path"`
	NumBlocks                int64  `json:"num_of_blocks"`
	NumUpdates               int64  `json:"num_of_updates"`
	NumBlockDownloads        int64  `json:"num_of_block_downloads"`
	SuccessChallenges        int64  `json:"num_of_challenges"`
	FailedChallenges         int64  `json:"num_of_failed_challenges"`
	LastChallengeResponseTxn string `json:"last_challenge_txn"`
	WriteMarkerRedeemTxn     string `json:"write_marker_txn"`
	BlobberID                string `json:"blobber_id"`
	BlobberURL               string `json:"blobber_url"`
	BlockchainAware          bool   `json:"blockchain_aware"`
}

type ListRequest

type ListRequest struct {
	Consensus
	// contains filtered or unexported fields
}

func (*ListRequest) GetListFromBlobbers

func (req *ListRequest) GetListFromBlobbers() *ListResult

type ListResult

type ListResult struct {
	Name          string        `json:"name"`
	Path          string        `json:"path,omitempty"`
	Type          string        `json:"type"`
	Size          int64         `json:"size"`
	Hash          string        `json:"hash,omitempty"`
	MimeType      string        `json:"mimetype,omitempty"`
	NumBlocks     int64         `json:"num_blocks"`
	LookupHash    string        `json:"lookup_hash"`
	EncryptionKey string        `json:"encryption_key"`
	Children      []*ListResult `json:"list"`
	Consensus     `json:"-"`
}

type MetaOperation added in v1.0.31

type MetaOperation struct {
	CrudType string
	MetaData *ConsolidatedFileMeta
}

type MetaTransactionData added in v1.0.31

type MetaTransactionData struct {
	TxnID    string
	MetaData *ConsolidatedFileMeta
}

type PriceRange

type PriceRange struct {
	Min int64 `json:"min"`
	Max int64 `json:"max"`
}

PriceRange represents a price range allowed by user to filter blobbers.

type ReferencePathResult

type ReferencePathResult struct {
	*fileref.ReferencePath
	LatestWM *marker.WriteMarker `json:"latest_write_marker"`
}

type RenameRequest

type RenameRequest struct {
	Consensus
	// contains filtered or unexported fields
}

func (*RenameRequest) ProcessRename

func (req *RenameRequest) ProcessRename() error

type ShareRequest

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

func (*ShareRequest) GetAuthTicket

func (req *ShareRequest) GetAuthTicket(clientID string) (string, error)

func (*ShareRequest) GetAuthTicketForEncryptedFile

func (req *ShareRequest) GetAuthTicketForEncryptedFile(clientID string, encPublicKey string) (string, error)

type StatusCallback

type StatusCallback interface {
	Started(allocationId, filePath string, op int, totalBytes int)
	InProgress(allocationId, filePath string, op int, completedBytes int)
	Error(allocationID string, filePath string, op int, err error)
	Completed(allocationId, filePath string, filename string, mimetype string, size int, op int)
}

type UploadFileMeta

type UploadFileMeta struct {
	Name          string
	Path          string
	Hash          string
	MimeType      string
	Size          int64
	ThumbnailSize int64
	ThumbnailHash string
}

type UploadRequest

type UploadRequest struct {
	Consensus
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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