Agora  1.2.0
Agora project
FileReceiver Class Reference

The File Receiver class creates a binary file source for Agora. More...

#include <file_receiver.h>

Inheritance diagram for FileReceiver:
Collaboration diagram for FileReceiver:

Public Member Functions

 FileReceiver (std::string &file_name)
 
 ~FileReceiver () override
 
size_t Load (unsigned char *destination, size_t requested_bytes) final
 

Static Public Attributes

static constexpr size_t kFileStreamRxSize = (2048u)
 
static constexpr size_t kFileStreamLocalRxBufSize = (kFileStreamRxSize * 10u)
 

Private Attributes

std::string file_name_
 
std::ifstream data_stream_
 
std::array< uint8_t, FileReceiver::kFileStreamLocalRxBufSizelocal_rx_buffer_
 
size_t data_available_
 
size_t data_start_offset_
 

Additional Inherited Members

- Protected Member Functions inherited from MacDataReceiver
 MacDataReceiver ()=default
 
virtual ~MacDataReceiver ()=default
 

Detailed Description

The File Receiver class creates a binary file source for Agora.

Constructor & Destructor Documentation

◆ FileReceiver()

FileReceiver::FileReceiver ( std::string &  file_name)
explicit
Todo:
Make sure that the file size is > FileReceiver::kFileStreamRxSize

◆ ~FileReceiver()

FileReceiver::~FileReceiver ( )
override

Member Function Documentation

◆ Load()

size_t FileReceiver::Load ( unsigned char *  destination,
size_t  requested_bytes 
)
finalvirtual

Implements MacDataReceiver.

Here is the call graph for this function:

Member Data Documentation

◆ data_available_

size_t FileReceiver::data_available_
private

◆ data_start_offset_

size_t FileReceiver::data_start_offset_
private

◆ data_stream_

std::ifstream FileReceiver::data_stream_
private

◆ file_name_

std::string FileReceiver::file_name_
private

◆ kFileStreamLocalRxBufSize

constexpr size_t FileReceiver::kFileStreamLocalRxBufSize = (kFileStreamRxSize * 10u)
staticconstexpr

◆ kFileStreamRxSize

constexpr size_t FileReceiver::kFileStreamRxSize = (2048u)
staticconstexpr

◆ local_rx_buffer_

std::array<uint8_t, FileReceiver::kFileStreamLocalRxBufSize> FileReceiver::local_rx_buffer_
private

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