class sssd_engine::SmartSSDCache¶
#include "smart_ssd_cache.hpp"
Methods¶
SmartSSDCache¶
SmartSSDCache ( const char* xclbin_path, int card_num, sssd_info_t* disks, FILE* log )
default constructor, instantiate data engine
Parameters:
xclbin_path | path of xclbin |
card_num | number of availabe SmartSSD cards |
disks | information of the SSDs |
log | file handler for dumping the logs |
addFile¶
ErrorCode addFile ( std::unique_ptr <char[]> data, size_t size, const std::string& filename )
store file to managed SmartSSD cards. Copy data from CPU memory to SSD cards
Parameters:
data | pointer to file content in memory. Before return, the block of storage will be released |
size | file size |
filename | file to store |
Returns:
success or fail status
scanFile¶
char* scanFile ( const char* fname, sssd_scandesc_t* sd, ErrorCode& err )
scan files from managed SmartSSD cards.
Parameters:
fname | file name; |
sd | pointer to configuration including schema, projection and filter conditions filenames. |
err | return the status of exectution. |
Returns:
pointer the selected row. It is stored in format defined by data type in schema.
listFiles¶
ErrorCode listFiles ( const char* path_pattern, std::vector <std::string>& file_list )
list all the file name that matche the path_pattern
Parameters:
path_pattern | specify the path_pattern for regex |
file_list | store the file name that matched the path_pattern |
Returns:
fail/success
print_input¶
void print_input (const sssd_scandesc_t* sd)
print input information
Parameters:
sd | the input schema |
print_output¶
void print_output ( const int64_t value [], const bool isnull [], int32_t hash, const sssd_scandesc_t* sd )
print output information
Parameters:
value | values |
isnull | is null flags |
hash | hash value |
sd | the schema |
release¶
void release ( const char* file_path, char* buf_ptr )
release specified buffer
Parameters:
file_path | path to the file |
buf_ptr | buffer to be released |