Documentation
¶
Index ¶
- Variables
- func DBConfigFromEnv() (uri, user, password, dbName string)
- func NewEphemeralSQLiteConnection(name string) gorm.Dialector
- func NewMetricsSQLiteConnection(path string) gorm.Dialector
- func NewMySQLConnection(user, password, addr, dbName string) gorm.Dialector
- func NewSQLLogger(l *zap.Logger, config LoggerConfig) logger.Interface
- func NewSQLiteConnection(path string) gorm.Dialector
- type Config
- type ContractCommon
- type LoggerConfig
- type Model
- type SQLStore
- func (s *SQLStore) AbortMultipartUpload(ctx context.Context, bucket, path string, uploadID string) error
- func (s *SQLStore) Accounts(ctx context.Context) ([]api.Account, error)
- func (s *SQLStore) AddContract(ctx context.Context, c rhpv2.ContractRevision, ...) (_ api.ContractMetadata, err error)
- func (s *SQLStore) AddMultipartPart(ctx context.Context, bucket, path, contractSet, eTag, uploadID string, ...) (err error)
- func (s *SQLStore) AddPartialSlab(ctx context.Context, data []byte, minShards, totalShards uint8, ...) ([]object.SlabSlice, int64, error)
- func (s *SQLStore) AddRenewedContract(ctx context.Context, c rhpv2.ContractRevision, ...) (api.ContractMetadata, error)
- func (s *SQLStore) AddWebhook(wb webhooks.Webhook) error
- func (s *SQLStore) AncestorContracts(ctx context.Context, id types.FileContractID, startHeight uint64) ([]api.ArchivedContract, error)
- func (s *SQLStore) ArchiveAllContracts(ctx context.Context, reason string) error
- func (s *SQLStore) ArchiveContract(ctx context.Context, id types.FileContractID, reason string) error
- func (s *SQLStore) ArchiveContracts(ctx context.Context, toArchive map[types.FileContractID]string) error
- func (s *SQLStore) Autopilot(ctx context.Context, id string) (api.Autopilot, error)
- func (s *SQLStore) Autopilots(ctx context.Context) ([]api.Autopilot, error)
- func (s *SQLStore) Bucket(ctx context.Context, bucket string) (api.Bucket, error)
- func (s *SQLStore) Close() error
- func (s *SQLStore) CompleteMultipartUpload(ctx context.Context, bucket, path string, uploadID string, ...) (_ api.MultipartCompleteResponse, err error)
- func (s *SQLStore) Contract(ctx context.Context, id types.FileContractID) (api.ContractMetadata, error)
- func (s *SQLStore) ContractMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, ...) ([]api.ContractMetric, error)
- func (s *SQLStore) ContractPruneMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, ...) ([]api.ContractPruneMetric, error)
- func (s *SQLStore) ContractRoots(ctx context.Context, id types.FileContractID) (roots []types.Hash256, err error)
- func (s *SQLStore) ContractSetChurnMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, ...) ([]api.ContractSetChurnMetric, error)
- func (s *SQLStore) ContractSetMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, ...) ([]api.ContractSetMetric, error)
- func (s *SQLStore) ContractSets(ctx context.Context) ([]string, error)
- func (s *SQLStore) ContractSize(ctx context.Context, id types.FileContractID) (api.ContractSize, error)
- func (s *SQLStore) ContractSizes(ctx context.Context) (map[types.FileContractID]api.ContractSize, error)
- func (s *SQLStore) Contracts(ctx context.Context, opts api.ContractsOpts) ([]api.ContractMetadata, error)
- func (s *SQLStore) CopyObject(ctx context.Context, srcBucket, dstBucket, srcPath, dstPath, mimeType string, ...) (om api.ObjectMetadata, err error)
- func (s *SQLStore) CreateBucket(ctx context.Context, bucket string, policy api.BucketPolicy) error
- func (s *SQLStore) CreateMultipartUpload(ctx context.Context, bucket, path string, ec object.EncryptionKey, ...) (api.MultipartCreateResponse, error)
- func (s *SQLStore) DeleteBucket(ctx context.Context, bucket string) error
- func (s *SQLStore) DeleteHostSector(ctx context.Context, hk types.PublicKey, root types.Hash256) error
- func (s *SQLStore) DeleteSetting(ctx context.Context, key string) error
- func (s *SQLStore) DeleteWebhook(wb webhooks.Webhook) error
- func (s *SQLStore) FetchPartialSlab(ctx context.Context, ec object.EncryptionKey, offset, length uint32) ([]byte, error)
- func (s *SQLStore) Height() uint64
- func (ss *SQLStore) Host(ctx context.Context, hostKey types.PublicKey) (hostdb.HostInfo, error)
- func (ss *SQLStore) HostAllowlist(ctx context.Context) (allowlist []types.PublicKey, err error)
- func (ss *SQLStore) HostBlocklist(ctx context.Context) (blocklist []string, err error)
- func (ss *SQLStore) Hosts(ctx context.Context, offset, limit int) ([]hostdb.Host, error)
- func (ss *SQLStore) HostsForScanning(ctx context.Context, maxLastScan time.Time, offset, limit int) ([]hostdb.HostAddress, error)
- func (s *SQLStore) ListBuckets(ctx context.Context) ([]api.Bucket, error)
- func (s *SQLStore) ListObjects(ctx context.Context, bucket, prefix, sortBy, sortDir, marker string, limit int) (api.ObjectsListResponse, error)
- func (s *SQLStore) MarkPackedSlabsUploaded(ctx context.Context, slabs []api.UploadedPackedSlab) error
- func (s *SQLStore) MultipartUpload(ctx context.Context, uploadID string) (resp api.MultipartUpload, err error)
- func (s *SQLStore) MultipartUploadParts(ctx context.Context, bucket, object string, uploadID string, marker int, ...) (resp api.MultipartListPartsResponse, _ error)
- func (s *SQLStore) MultipartUploads(ctx context.Context, bucket, prefix, keyMarker, uploadIDMarker string, ...) (resp api.MultipartListUploadsResponse, err error)
- func (s *SQLStore) Object(ctx context.Context, bucket, path string) (obj api.Object, err error)
- func (s *SQLStore) ObjectEntries(ctx context.Context, bucket, path, prefix, sortBy, sortDir, marker string, ...) (metadata []api.ObjectMetadata, hasMore bool, err error)
- func (s *SQLStore) ObjectsBySlabKey(ctx context.Context, bucket string, slabKey object.EncryptionKey) (metadata []api.ObjectMetadata, err error)
- func (s *SQLStore) ObjectsStats(ctx context.Context) (api.ObjectsStatsResponse, error)
- func (s *SQLStore) PackedSlabsForUpload(ctx context.Context, lockingDuration time.Duration, ...) ([]api.PackedSlab, error)
- func (s *SQLStore) PerformanceMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, ...) ([]api.PerformanceMetric, error)
- func (ss *SQLStore) ProcessConsensusChange(cc modules.ConsensusChange)
- func (s *SQLStore) PruneMetrics(ctx context.Context, metric string, cutoff time.Time) error
- func (s *SQLStore) RecordContractMetric(ctx context.Context, metrics ...api.ContractMetric) error
- func (s *SQLStore) RecordContractPruneMetric(ctx context.Context, metrics ...api.ContractPruneMetric) error
- func (s *SQLStore) RecordContractSetChurnMetric(ctx context.Context, metrics ...api.ContractSetChurnMetric) error
- func (s *SQLStore) RecordContractSetMetric(ctx context.Context, metrics ...api.ContractSetMetric) error
- func (s *SQLStore) RecordContractSpending(ctx context.Context, records []api.ContractSpendingRecord) error
- func (ss *SQLStore) RecordHostScans(ctx context.Context, scans []hostdb.HostScan) error
- func (s *SQLStore) RecordPerformanceMetric(ctx context.Context, metrics ...api.PerformanceMetric) error
- func (ss *SQLStore) RecordPriceTables(ctx context.Context, priceTableUpdate []hostdb.PriceTableUpdate) error
- func (s *SQLStore) RecordWalletMetric(ctx context.Context, metrics ...api.WalletMetric) error
- func (s *SQLStore) RefreshHealth(ctx context.Context) error
- func (s *SQLStore) RemoveContractSet(ctx context.Context, name string) error
- func (s *SQLStore) RemoveObject(ctx context.Context, bucket, key string) error
- func (s *SQLStore) RemoveObjects(ctx context.Context, bucket, prefix string) error
- func (ss *SQLStore) RemoveOfflineHosts(ctx context.Context, minRecentFailures uint64, maxDowntime time.Duration) (removed uint64, err error)
- func (s *SQLStore) RenameObject(ctx context.Context, bucket, keyOld, keyNew string, force bool) error
- func (s *SQLStore) RenameObjects(ctx context.Context, bucket, prefixOld, prefixNew string, force bool) error
- func (s *SQLStore) RenewedContract(ctx context.Context, renewedFrom types.FileContractID) (_ api.ContractMetadata, err error)
- func (s *SQLStore) ResetConsensusSubscription() error
- func (s *SQLStore) ResetLostSectors(ctx context.Context, hk types.PublicKey) error
- func (s *SQLStore) SaveAccounts(ctx context.Context, accounts []api.Account) error
- func (ss *SQLStore) SearchHosts(ctx context.Context, filterMode, addressContains string, ...) ([]hostdb.Host, error)
- func (s *SQLStore) SearchObjects(ctx context.Context, bucket, substring string, offset, limit int) ([]api.ObjectMetadata, error)
- func (s *SQLStore) SetContractSet(ctx context.Context, name string, contractIds []types.FileContractID) error
- func (s *SQLStore) SetUncleanShutdown() error
- func (s *SQLStore) Setting(ctx context.Context, key string) (string, error)
- func (s *SQLStore) Settings(ctx context.Context) ([]string, error)
- func (s *SQLStore) Slab(ctx context.Context, key object.EncryptionKey) (object.Slab, error)
- func (s *SQLStore) SlabBuffers(ctx context.Context) ([]api.SlabBuffer, error)
- func (s *SQLStore) Transactions(before, since time.Time, offset, limit int) ([]wallet.Transaction, error)
- func (s *SQLStore) UnhealthySlabs(ctx context.Context, healthCutoff float64, set string, limit int) ([]api.UnhealthySlab, error)
- func (s *SQLStore) UnspentSiacoinElements(matured bool) ([]wallet.SiacoinElement, error)
- func (s *SQLStore) UpdateAutopilot(ctx context.Context, ap api.Autopilot) error
- func (s *SQLStore) UpdateBucketPolicy(ctx context.Context, bucket string, policy api.BucketPolicy) error
- func (ss *SQLStore) UpdateHostAllowlistEntries(ctx context.Context, add, remove []types.PublicKey, clear bool) (err error)
- func (ss *SQLStore) UpdateHostBlocklistEntries(ctx context.Context, add, remove []string, clear bool) (err error)
- func (s *SQLStore) UpdateObject(ctx context.Context, bucket, path, contractSet, eTag, mimeType string, ...) error
- func (s *SQLStore) UpdateSetting(ctx context.Context, key, value string) error
- func (ss *SQLStore) UpdateSlab(ctx context.Context, s object.Slab, contractSet string) error
- func (s *SQLStore) WalletMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, ...) ([]api.WalletMetric, error)
- func (s *SQLStore) Webhooks() ([]webhooks.Webhook, error)
- type SlabBuffer
- type SlabBufferManager
- func (mgr *SlabBufferManager) AddPartialSlab(ctx context.Context, data []byte, minShards, totalShards uint8, ...) ([]object.SlabSlice, int64, error)
- func (mgr *SlabBufferManager) BufferSize(gid bufferGroupID) (total int64)
- func (mgr *SlabBufferManager) Close() error
- func (mgr *SlabBufferManager) FetchPartialSlab(ctx context.Context, ec object.EncryptionKey, offset, length uint32) ([]byte, error)
- func (mgr *SlabBufferManager) RemoveBuffers(fileNames ...string)
- func (mgr *SlabBufferManager) SlabBuffers() (sbs []api.SlabBuffer)
- func (mgr *SlabBufferManager) SlabsForUpload(ctx context.Context, lockingDuration time.Duration, ...) (slabs []api.PackedSlab, _ error)
Constants ¶
This section is empty.
Variables ¶
var ( ErrNegativeOffset = errors.New("offset can not be negative") ErrNegativeMaxDowntime = errors.New("max downtime can not be negative") )
var SQLiteTimestampFormats = []string{
"2006-01-02 15:04:05.999999999-07:00",
"2006-01-02T15:04:05.999999999-07:00",
"2006-01-02 15:04:05.999999999",
"2006-01-02T15:04:05.999999999",
"2006-01-02 15:04:05",
"2006-01-02T15:04:05",
"2006-01-02 15:04",
"2006-01-02T15:04",
"2006-01-02",
}
SQLiteTimestampFormats were taken from github.com/mattn/go-sqlite3 and are used when parsing a string to a date
Functions ¶
func DBConfigFromEnv ¶
func DBConfigFromEnv() (uri, user, password, dbName string)
func NewEphemeralSQLiteConnection ¶
NewEphemeralSQLiteConnection creates a connection to an in-memory SQLite DB. NOTE: Use simple names such as a random hex identifier or the filepath.Base of a test's name. Certain symbols will break the cfg string and cause a file to be created on disk.
mode: set to memory for in-memory database cache: set to shared which is required for in-memory databases _foreign_keys: enforce foreign_key relations
func NewMetricsSQLiteConnection ¶ added in v0.7.0
NewMetricsSQLiteConnection opens a sqlite db at the given path similarly to NewSQLiteConnection but with weaker consistency guarantees since it's optimised for recording metrics.
func NewMySQLConnection ¶
NewMySQLConnection creates a connection to a MySQL database.
func NewSQLLogger ¶
func NewSQLLogger(l *zap.Logger, config LoggerConfig) logger.Interface
func NewSQLiteConnection ¶
NewSQLiteConnection opens a sqlite db at the given path.
_busy_timeout: set to prevent concurrent transactions from failing and instead have them block _foreign_keys: enforce foreign_key relations _journal_mode: set to WAL instead of delete since it's usually the fastest. Only downside is that the db won't work on network drives. In that case this should be made configurable and set to TRUNCATE or any of the other options. For reference see https://github.com/mattn/go-sqlite3#connection-string.
Types ¶
type Config ¶ added in v1.0.1
type Config struct { Conn gorm.Dialector ConnMetrics gorm.Dialector Alerts alerts.Alerter PartialSlabDir string Migrate bool AnnouncementMaxAge time.Duration PersistInterval time.Duration WalletAddress types.Address SlabBufferCompletionThreshold int64 Logger *zap.SugaredLogger GormLogger glogger.Interface RetryTransactionIntervals []time.Duration }
Config contains all params for creating a SQLStore
type ContractCommon ¶
type ContractCommon struct { FCID fileContractID `gorm:"unique;index;NOT NULL;column:fcid;size:32"` RenewedFrom fileContractID `gorm:"index;size:32"` ContractPrice currency State contractState `gorm:"index;NOT NULL;default:0"` TotalCost currency ProofHeight uint64 `gorm:"index;default:0"` RevisionHeight uint64 `gorm:"index;default:0"` RevisionNumber string `gorm:"NOT NULL;default:'0'"` // string since db can't store math.MaxUint64 Size uint64 StartHeight uint64 `gorm:"index;NOT NULL"` WindowStart uint64 `gorm:"index;NOT NULL;default:0"` WindowEnd uint64 `gorm:"index;NOT NULL;default:0"` // spending fields UploadSpending currency DownloadSpending currency FundAccountSpending currency DeleteSpending currency ListSpending currency }
type LoggerConfig ¶
type Model ¶
Model defines the common fields of every table. Same as Model but excludes soft deletion since it breaks cascading deletes.
type SQLStore ¶
type SQLStore struct {
// contains filtered or unexported fields
}
SQLStore is a helper type for interacting with a SQL-based backend.
func NewSQLStore ¶
func NewSQLStore(cfg Config) (*SQLStore, modules.ConsensusChangeID, error)
NewSQLStore uses a given Dialector to connect to a SQL database. NOTE: Only pass migrate=true for the first instance of SQLHostDB if you connect via the same Dialector multiple times.
func (*SQLStore) AbortMultipartUpload ¶ added in v0.6.0
func (*SQLStore) AddContract ¶
func (*SQLStore) AddMultipartPart ¶ added in v0.6.0
func (*SQLStore) AddPartialSlab ¶
func (*SQLStore) AddRenewedContract ¶
func (s *SQLStore) AddRenewedContract(ctx context.Context, c rhpv2.ContractRevision, contractPrice, totalCost types.Currency, startHeight uint64, renewedFrom types.FileContractID, state string) (api.ContractMetadata, error)
AddRenewedContract adds a new contract which was created as the result of a renewal to the store. The old contract specified as 'renewedFrom' will be deleted from the active contracts and moved to the archive. Both new and old contract will be linked to each other through the RenewedFrom and RenewedTo fields respectively.
func (*SQLStore) AncestorContracts ¶
func (s *SQLStore) AncestorContracts(ctx context.Context, id types.FileContractID, startHeight uint64) ([]api.ArchivedContract, error)
func (*SQLStore) ArchiveAllContracts ¶
func (*SQLStore) ArchiveContract ¶
func (*SQLStore) ArchiveContracts ¶
func (*SQLStore) Autopilots ¶
func (*SQLStore) CompleteMultipartUpload ¶ added in v0.6.0
func (s *SQLStore) CompleteMultipartUpload(ctx context.Context, bucket, path string, uploadID string, parts []api.MultipartCompletedPart) (_ api.MultipartCompleteResponse, err error)
func (*SQLStore) Contract ¶
func (s *SQLStore) Contract(ctx context.Context, id types.FileContractID) (api.ContractMetadata, error)
func (*SQLStore) ContractMetrics ¶ added in v0.7.0
func (*SQLStore) ContractPruneMetrics ¶ added in v0.7.0
func (*SQLStore) ContractRoots ¶
func (*SQLStore) ContractSetChurnMetrics ¶ added in v0.7.0
func (*SQLStore) ContractSetMetrics ¶ added in v0.7.0
func (*SQLStore) ContractSets ¶
func (*SQLStore) ContractSize ¶
func (s *SQLStore) ContractSize(ctx context.Context, id types.FileContractID) (api.ContractSize, error)
func (*SQLStore) ContractSizes ¶
func (s *SQLStore) ContractSizes(ctx context.Context) (map[types.FileContractID]api.ContractSize, error)
func (*SQLStore) Contracts ¶
func (s *SQLStore) Contracts(ctx context.Context, opts api.ContractsOpts) ([]api.ContractMetadata, error)
func (*SQLStore) CopyObject ¶ added in v0.6.0
func (s *SQLStore) CopyObject(ctx context.Context, srcBucket, dstBucket, srcPath, dstPath, mimeType string, metadata api.ObjectUserMetadata) (om api.ObjectMetadata, err error)
func (*SQLStore) CreateBucket ¶ added in v0.6.0
func (*SQLStore) CreateMultipartUpload ¶ added in v0.6.0
func (s *SQLStore) CreateMultipartUpload(ctx context.Context, bucket, path string, ec object.EncryptionKey, mimeType string, metadata api.ObjectUserMetadata) (api.MultipartCreateResponse, error)
func (*SQLStore) DeleteBucket ¶ added in v0.6.0
func (*SQLStore) DeleteHostSector ¶ added in v0.7.0
func (*SQLStore) DeleteSetting ¶
DeleteSetting implements the bus.SettingStore interface.
func (*SQLStore) FetchPartialSlab ¶
func (*SQLStore) HostAllowlist ¶
func (*SQLStore) HostBlocklist ¶
func (*SQLStore) HostsForScanning ¶
func (ss *SQLStore) HostsForScanning(ctx context.Context, maxLastScan time.Time, offset, limit int) ([]hostdb.HostAddress, error)
HostsForScanning returns the address of hosts for scanning.
func (*SQLStore) ListBuckets ¶ added in v0.6.0
func (*SQLStore) ListObjects ¶ added in v0.6.0
func (s *SQLStore) ListObjects(ctx context.Context, bucket, prefix, sortBy, sortDir, marker string, limit int) (api.ObjectsListResponse, error)
TODO: we can use ObjectEntries instead of ListObject if we want to use '/' as a delimiter for now (see backend.go) but it would be interesting to have arbitrary 'delim' support in ListObjects.
func (*SQLStore) MarkPackedSlabsUploaded ¶
func (s *SQLStore) MarkPackedSlabsUploaded(ctx context.Context, slabs []api.UploadedPackedSlab) error
MarkPackedSlabsUploaded marks the given slabs as uploaded and deletes them from the buffer.
func (*SQLStore) MultipartUpload ¶ added in v0.6.0
func (*SQLStore) MultipartUploadParts ¶ added in v0.6.0
func (*SQLStore) MultipartUploads ¶ added in v0.6.0
func (*SQLStore) ObjectEntries ¶
func (*SQLStore) ObjectsBySlabKey ¶
func (s *SQLStore) ObjectsBySlabKey(ctx context.Context, bucket string, slabKey object.EncryptionKey) (metadata []api.ObjectMetadata, err error)
func (*SQLStore) ObjectsStats ¶
ObjectsStats returns some info related to the objects stored in the store. To reduce locking and make sure all results are consistent, everything is done within a single transaction.
func (*SQLStore) PackedSlabsForUpload ¶
func (s *SQLStore) PackedSlabsForUpload(ctx context.Context, lockingDuration time.Duration, minShards, totalShards uint8, set string, limit int) ([]api.PackedSlab, error)
PackedSlabsForUpload returns up to 'limit' packed slabs that are ready for uploading. They are locked for 'lockingDuration' time before being handed out again.
func (*SQLStore) PerformanceMetrics ¶ added in v0.7.0
func (*SQLStore) ProcessConsensusChange ¶
func (ss *SQLStore) ProcessConsensusChange(cc modules.ConsensusChange)
ProcessConsensusChange implements consensus.Subscriber.
func (*SQLStore) PruneMetrics ¶ added in v0.7.0
func (*SQLStore) RecordContractMetric ¶ added in v0.7.0
func (*SQLStore) RecordContractPruneMetric ¶ added in v0.7.0
func (*SQLStore) RecordContractSetChurnMetric ¶ added in v0.7.0
func (*SQLStore) RecordContractSetMetric ¶ added in v0.7.0
func (*SQLStore) RecordContractSpending ¶
func (*SQLStore) RecordHostScans ¶
func (*SQLStore) RecordPerformanceMetric ¶ added in v0.7.0
func (*SQLStore) RecordPriceTables ¶
func (*SQLStore) RecordWalletMetric ¶ added in v0.7.0
func (*SQLStore) RemoveContractSet ¶
func (*SQLStore) RemoveObject ¶
func (*SQLStore) RemoveObjects ¶
func (*SQLStore) RemoveOfflineHosts ¶
func (*SQLStore) RenameObject ¶
func (*SQLStore) RenameObjects ¶
func (*SQLStore) RenewedContract ¶
func (s *SQLStore) RenewedContract(ctx context.Context, renewedFrom types.FileContractID) (_ api.ContractMetadata, err error)
func (*SQLStore) ResetConsensusSubscription ¶
func (*SQLStore) ResetLostSectors ¶ added in v0.7.0
func (*SQLStore) SaveAccounts ¶
SaveAccounts saves the given accounts in the db, overwriting any existing ones.
func (*SQLStore) SearchHosts ¶
func (*SQLStore) SearchObjects ¶
func (*SQLStore) SetContractSet ¶
func (*SQLStore) SetUncleanShutdown ¶ added in v0.6.0
SetCleanShutdown sets the clean shutdown flag on the accounts to 'false' and also sets the 'requires_sync' flag. That way, the autopilot will know to sync all accounts after an unclean shutdown and the bus will know not to apply drift.
func (*SQLStore) SlabBuffers ¶
func (*SQLStore) Transactions ¶
func (s *SQLStore) Transactions(before, since time.Time, offset, limit int) ([]wallet.Transaction, error)
Transactions implements wallet.SingleAddressStore.
func (*SQLStore) UnhealthySlabs ¶
func (s *SQLStore) UnhealthySlabs(ctx context.Context, healthCutoff float64, set string, limit int) ([]api.UnhealthySlab, error)
UnhealthySlabs returns up to 'limit' slabs that do not reach full redundancy in the given contract set. These slabs need to be migrated to good contracts so they are restored to full health.
func (*SQLStore) UnspentSiacoinElements ¶
func (s *SQLStore) UnspentSiacoinElements(matured bool) ([]wallet.SiacoinElement, error)
UnspentSiacoinElements implements wallet.SingleAddressStore.
func (*SQLStore) UpdateAutopilot ¶
func (*SQLStore) UpdateBucketPolicy ¶ added in v0.6.0
func (*SQLStore) UpdateHostAllowlistEntries ¶
func (*SQLStore) UpdateHostBlocklistEntries ¶
func (*SQLStore) UpdateObject ¶
func (*SQLStore) UpdateSetting ¶
UpdateSetting implements the bus.SettingStore interface.
func (*SQLStore) UpdateSlab ¶
func (*SQLStore) WalletMetrics ¶ added in v0.7.0
type SlabBuffer ¶
type SlabBuffer struct {
// contains filtered or unexported fields
}
type SlabBufferManager ¶
type SlabBufferManager struct {
// contains filtered or unexported fields
}
func (*SlabBufferManager) AddPartialSlab ¶
func (*SlabBufferManager) BufferSize ¶ added in v0.6.0
func (mgr *SlabBufferManager) BufferSize(gid bufferGroupID) (total int64)
func (*SlabBufferManager) Close ¶
func (mgr *SlabBufferManager) Close() error
func (*SlabBufferManager) FetchPartialSlab ¶
func (mgr *SlabBufferManager) FetchPartialSlab(ctx context.Context, ec object.EncryptionKey, offset, length uint32) ([]byte, error)
func (*SlabBufferManager) RemoveBuffers ¶
func (mgr *SlabBufferManager) RemoveBuffers(fileNames ...string)
func (*SlabBufferManager) SlabBuffers ¶
func (mgr *SlabBufferManager) SlabBuffers() (sbs []api.SlabBuffer)