java.lang.Object
org.yamcs.yarch.rocksdb.RdbBucket
- All Implemented Interfaces:
Bucket
-
Constructor Summary
ConstructorsConstructorDescriptionRdbBucket(String yamcsInstance, Tablespace tablespace, int tbsIndex, Tablespace.BucketProperties bucketProps) -
Method Summary
Modifier and TypeMethodDescriptionvoiddeleteObject(String objectName) deleteObjectAsync(String objectName) findObject(String objectName) findObjectAsync(String objectName) Retrieve the object properties or null if not such an object existBucket locationgetName()This bucket's namebyte[]CompletableFuture<byte[]>getObjectAsync(String objectName) Retrieve object from the bucket.intlistObjects(String prefix, Predicate<ObjectProperties> p) listObjectsAsync(String prefix, Predicate<ObjectProperties> p) retrieve objects whose name start with prefix and that match the condition Note that searching by prefix is cheap, the condition will be evaluated for all objects that match the prefixvoidputObjectAsync(String objectName, String contentType, Map<String, String> metadata, byte[] objectData) voidsetMaxObjects(int maxObjects) Update the object count limit for this bucket.voidsetMaxSize(long maxSize) Update the size limit for this bucket.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.yamcs.buckets.Bucket
listObjectsAsync, listObjectsAsync, listObjectsAsync
-
Constructor Details
-
RdbBucket
public RdbBucket(String yamcsInstance, Tablespace tablespace, int tbsIndex, Tablespace.BucketProperties bucketProps)
-
-
Method Details
-
getLocation
Description copied from interface:BucketBucket location- Specified by:
getLocationin interfaceBucket
-
getPropertiesAsync
- Specified by:
getPropertiesAsyncin interfaceBucket
-
getProperties
-
setMaxSize
Description copied from interface:BucketUpdate the size limit for this bucket.If the specified size is smaller than the current size, the bucket will no longer accept new files.
- Specified by:
setMaxSizein interfaceBucket- Throws:
IOException
-
setMaxObjects
Description copied from interface:BucketUpdate the object count limit for this bucket.If the specified count is smaller than the current count, the bucket will no longer accept new files.
- Specified by:
setMaxObjectsin interfaceBucket- Throws:
IOException
-
listObjectsAsync
public CompletableFuture<List<ObjectProperties>> listObjectsAsync(String prefix, Predicate<ObjectProperties> p) Description copied from interface:Bucketretrieve objects whose name start with prefix and that match the condition Note that searching by prefix is cheap, the condition will be evaluated for all objects that match the prefix- Specified by:
listObjectsAsyncin interfaceBucketp- predicate to be matched by the returned objects- Returns:
- list of objects
-
listObjects
public List<ObjectProperties> listObjects(String prefix, Predicate<ObjectProperties> p) throws IOException - Throws:
IOException
-
putObjectAsync
public CompletableFuture<Void> putObjectAsync(String objectName, String contentType, Map<String, String> metadata, byte[] objectData) - Specified by:
putObjectAsyncin interfaceBucket
-
putObject
public void putObject(String objectName, String contentType, Map<String, String> metadata, byte[] objectData) throws IOException- Throws:
IOException
-
findObjectAsync
Description copied from interface:BucketRetrieve the object properties or null if not such an object exist- Specified by:
findObjectAsyncin interfaceBucket
-
findObject
- Throws:
IOException
-
getObjectAsync
Description copied from interface:BucketRetrieve object from the bucket. Returns null if object does not exist.- Specified by:
getObjectAsyncin interfaceBucket
-
getObject
- Throws:
IOException
-
deleteObjectAsync
- Specified by:
deleteObjectAsyncin interfaceBucket
-
deleteObject
- Throws:
IOException
-
getName
Description copied from interface:BucketThis bucket's name -
getTablespace
-
getTbsIndex
public int getTbsIndex()
-