On this page

ResourceManager (Embd)

BangDB Resource Manager (Embedded) Type

Embedded BangDB

BangDB Resource Manager (Embedded) is a type to allow users to deal with large files and objects. Users can create buckets and store large files in the buckets and fetch as needed

C++

Selected

Java

Selected

To get instance of BangDBResourceManager

 BangDBResourceManager(BangDBDatabase *bdb); 
To initialize the BRS
 int init_brs_meta(); 
To create a bucket
 int create_bucket(char *bucket_info); 
This creates a bucket as defined by the bucket_info which looks like following; {access_key:, secret_key:, bucket_name:} It returns -1 for error To get list of buckets present in BRS for a user
 char *list_buckets(char *user_info); 
It returns NULL for error else the list of the buckets. Users should use delete[] the returned string To get list of buckets present in BRS
 char *list_all_buckets(char *user_info); 
It returns NULL for error else the list of the buckets. Users should use delete[] the returned string To count the number of buckets present in the BRS
 long count_buckets(); 
It returns -1 for error else the count To delete a bucket
 int delete_bucket(char *bucket_info); 
It returns -1 for error else 0 or more than 0 To upload an object into a bucket
 long put_object(char *bucket_info, char *key, char *data, long datlen, bool force = false); 
Here, bucket_info is the bucket name and key is the unique name given by the user to the object to be uploaded. It returns -1 for error else 0 or more than 0 To download an object from a bucket in BRS
 long get_object(char *bucket_info, char *key, char **data, long *datlen); 
returns the current number of objects for the bucket if successful else -1 To upload a file into a bucket
 long put_file(char *bucket_info, char *key, char *fpath, InsertOptions iop, bool force = false); 
InsertOptions is an enum with following:
INSERT_UNIQUE, //if non-existing then insert else return
UPDATE_EXISTING, //if existing then update else return
INSERT_UPDATE, //insert if non-existing else update
DELETE_EXISTING, //delete if existing
UPDATE_EXISTING_INPLACE, //only for inplace update
INSERT_UPDATE_INPLACE, //only for inplace update
Please see more on this at bangdb common
It returns -1 for error else 0 or more than 0 To download a file from a bucket to local system
 long get_file(char *bucket_info, char *key, char *fname, char *fpath); 
Key is the unique name/id provided by user or bangdb to refre that file and fpath is the location where the file will be downloaded with fname as file name. It returns -1 for error else 0 or more than 0 To delete an object in a bucket
 int del_object(char *bucket_info, char *key); 
It returns -1 for error else 0 or more than 0 To count the number of slices of an objects present in a bucket
 int count_slices(char *bucket_info, char *key); 
It returns -1 for error else the slice count To count current number of objects for the bucket
 long count_objects(char *bucket_info); 
It returns -1 for error else the slice count To list all object present
 char *list_objects(char *bucket_info); 
It returns NULL for error or the list of objects. Users should free the returned data using delete[] To closed a bucket
 int close_bucket(char *bucket_info); 
It returns -1 for error else 0 or positive number To closed resource manager
 int close_resource_manager(CloseType closetype = DEFAULT, bool force = false); 
ClosedType is enum with following values;
DEFAULT_AT_CLIENT
CONSERVATIVE_AT_SERVER
OPTIMISTIC_AT_SERVER,
CLEANCLOSE_AT_SERVER,
SIMPLECLOSE_AT_SERVER,
DEFAULT_AT_SERVER
Please see more on this at bangdb common It returns -1 for error or 0 or positive number

 

Was this article helpful to you? Yes No