2 Commits

Author SHA1 Message Date
19c02d3573 Quick 2025-05-28 15:38:18 +03:00
1f837afadc Refactor OpenFunc call to use deferred execution 2025-05-28 13:19:57 +03:00

20
api.go
View File

@ -143,6 +143,18 @@ func New(options AgateOptions) (*Agate, error) {
return agate, nil return agate, nil
} }
func (a *Agate) GetActiveDir() string {
return a.options.BlobStore.GetActiveDir()
}
func (a *Agate) GetMetadataDir() string {
return a.metadataDir
}
func (a *Agate) GetBlobsDir() string {
return a.blobsDir
}
// SaveSnapshot creates a new snapshot from the current state of the active directory. // SaveSnapshot creates a new snapshot from the current state of the active directory.
// If parentID is provided, it will be set as the parent of the new snapshot. // If parentID is provided, it will be set as the parent of the new snapshot.
// If parentID is empty, it will use the ID of the snapshot currently loaded in the active directory. // If parentID is empty, it will use the ID of the snapshot currently loaded in the active directory.
@ -283,11 +295,13 @@ func (a *Agate) saveCurrentSnapshotID() error {
return os.WriteFile(a.currentIDFile, []byte(a.currentSnapshotID), 0644) return os.WriteFile(a.currentIDFile, []byte(a.currentSnapshotID), 0644)
} }
func (a *Agate) Open() error {
return a.options.OpenFunc(a.GetActiveDir())
}
// Close releases all resources used by the Agate instance. // Close releases all resources used by the Agate instance.
func (a *Agate) Close() error { func (a *Agate) Close() error {
// Currently, we don't have a way to close the manager directly return a.options.CloseFunc()
// This would be a good addition in the future
return nil
} }
// StartServer starts a gRPC server to share snapshots. // StartServer starts a gRPC server to share snapshots.