MADARA  3.4.1
madara::knowledge::FileFragmenter Class Reference

Splits files into fragments that can be saved to and loaded from a knowledge base. More...

#include <FileFragmenter.h>

Public Member Functions

 FileFragmenter ()
 Constructor. More...
 
 FileFragmenter (char *buffer, size_t size, size_t frag_size=60000)
 Constructor. More...
 
 FileFragmenter (const std::string &filename, size_t frag_size=60000)
 Constructor. More...
 
containers::Vector create_vector (const std::string &key, KnowledgeBase &kb, const KnowledgeUpdateSettings &settings=KnowledgeUpdateSettings::GLOBAL_AS_LOCAL_NO_EXPAND)
 Creates a vector in a knowledge base with the current file fragments. More...
 
size_t fragment_buffer (char *buffer, size_t size, size_t frag_size=60000)
 Fragments a file into smaller buffers up to a specified size. More...
 
size_t fragment_file (const std::string &filename, size_t frag_size=60000)
 Fragments a file into smaller buffers up to a specified size. More...
 
size_t from_kb (const std::string &key, KnowledgeBase &kb, const KnowledgeUpdateSettings &settings=KnowledgeUpdateSettings::GLOBAL_AS_LOCAL_NO_EXPAND)
 Creates a vector in a knowledge base with the current file fragments. More...
 
const char * get_file_contents (void)
 Returns the file contents as a character buffer. More...
 

Public Attributes

utility::ScopedArray< char > file_contents
 the buffer that holds the file contents More...
 
size_t file_size
 the size of the file contents More...
 
KnowledgeVector records
 records that contain the file fragments More...
 

Detailed Description

Splits files into fragments that can be saved to and loaded from a knowledge base.

Definition at line 22 of file FileFragmenter.h.

Constructor & Destructor Documentation

◆ FileFragmenter() [1/3]

madara::knowledge::FileFragmenter::FileFragmenter ( )
inline

Constructor.

Definition at line 28 of file FileFragmenter.h.

◆ FileFragmenter() [2/3]

madara::knowledge::FileFragmenter::FileFragmenter ( char *  buffer,
size_t  size,
size_t  frag_size = 60000 
)
inline

Constructor.

Parameters
bufferthe file contents
sizethe size of the buffer in bytes
frag_sizethe max size of fragments to create

Definition at line 36 of file FileFragmenter.h.

◆ FileFragmenter() [3/3]

madara::knowledge::FileFragmenter::FileFragmenter ( const std::string &  filename,
size_t  frag_size = 60000 
)
inline

Constructor.

Parameters
filenamethe file to read in and fragment
frag_sizethe max size of fragments to create

Definition at line 47 of file FileFragmenter.h.

Member Function Documentation

◆ create_vector()

containers::Vector madara::knowledge::FileFragmenter::create_vector ( const std::string &  key,
KnowledgeBase kb,
const KnowledgeUpdateSettings settings = KnowledgeUpdateSettings::GLOBAL_AS_LOCAL_NO_EXPAND 
)
inline

Creates a vector in a knowledge base with the current file fragments.

Parameters
keythe location in the knowledge base to save to
kbthe knowledge base to save to
settingsthe knowledge update settings to use for Vector
Returns
a container that can reference the elements in the KB

Definition at line 131 of file FileFragmenter.h.

◆ fragment_buffer()

size_t madara::knowledge::FileFragmenter::fragment_buffer ( char *  buffer,
size_t  size,
size_t  frag_size = 60000 
)
inline

Fragments a file into smaller buffers up to a specified size.

Parameters
bufferthe file contents
sizethe size of the buffer in bytes
frag_sizethe max size of fragments to create
Returns
the number of fragments created

Definition at line 93 of file FileFragmenter.h.

◆ fragment_file()

size_t madara::knowledge::FileFragmenter::fragment_file ( const std::string &  filename,
size_t  frag_size = 60000 
)
inline

Fragments a file into smaller buffers up to a specified size.

Parameters
filenamethe file to read in and fragment
frag_sizethe max size of fragments to create
Returns
number of fragments that resulted
the number of fragments created

Definition at line 60 of file FileFragmenter.h.

◆ from_kb()

size_t madara::knowledge::FileFragmenter::from_kb ( const std::string &  key,
KnowledgeBase kb,
const KnowledgeUpdateSettings settings = KnowledgeUpdateSettings::GLOBAL_AS_LOCAL_NO_EXPAND 
)
inline

Creates a vector in a knowledge base with the current file fragments.

This method is useful to check file transfer progress through a KB.

Parameters
keythe location in the knowledge base to load from
kbthe knowledge base to load from
settingsthe knowledge update settings to use
Returns
the number of bytes currently in the KB Vector

Definition at line 151 of file FileFragmenter.h.

◆ get_file_contents()

const char* madara::knowledge::FileFragmenter::get_file_contents ( void  )
inline

Returns the file contents as a character buffer.

Returns
the bytes in the file contents

Definition at line 232 of file FileFragmenter.h.

Member Data Documentation

◆ file_contents

utility::ScopedArray<char> madara::knowledge::FileFragmenter::file_contents

the buffer that holds the file contents

Definition at line 244 of file FileFragmenter.h.

◆ file_size

size_t madara::knowledge::FileFragmenter::file_size

the size of the file contents

Definition at line 241 of file FileFragmenter.h.

◆ records

KnowledgeVector madara::knowledge::FileFragmenter::records

records that contain the file fragments

Definition at line 238 of file FileFragmenter.h.


The documentation for this class was generated from the following file: