P2P File Share
A simple peer-to-peer file sharing system.
Loading...
Searching...
No Matches
file_io.cpp File Reference
#include <cstring>
#include <fcntl.h>
#include <iostream>
#include <sstream>
#include <unistd.h>
#include "hash.hpp"
#include "file_io.hpp"
Include dependency graph for file_io.cpp:

Functions

std::shared_ptr< FileInfoget_file_info (const std::string &file_path)
 
size_t get_piece_index (const std::shared_ptr< FileInfo > &file_info, std::string_view piece)
 
bool is_piece_valid (std::string_view hash, std::string_view data)
 
std::string read_piece_from_file (const std::string &file_path, size_t block_index, size_t block_size)
 
ssize_t write_piece_to_file (const std::string &file_path, size_t block_index, size_t block_size, const std::string &data)
 

Function Documentation

◆ get_file_info()

std::shared_ptr< FileInfo > get_file_info ( const std::string & file_path)

◆ get_piece_index()

size_t get_piece_index ( const std::shared_ptr< FileInfo > & file_info,
std::string_view piece )

◆ is_piece_valid()

bool is_piece_valid ( std::string_view hash,
std::string_view data )

◆ read_piece_from_file()

std::string read_piece_from_file ( const std::string & file_path,
size_t block_index,
size_t block_size )

◆ write_piece_to_file()

ssize_t write_piece_to_file ( const std::string & file_path,
size_t block_index,
size_t block_size,
const std::string & data )