#include "socket.h"#include "json.hpp"#include <string>#include <vector>#include <functional>#include <memory>#include <mutex>#include <unordered_map>#include <atomic>#include <chrono>#include <thread>#include <queue>#include <condition_variable>Go to the source code of this file.
Classes | |
| struct | librats::FileChunk |
| File transfer chunk information. More... | |
| struct | librats::FileMetadata |
| File metadata for transfers. More... | |
| struct | librats::DirectoryMetadata |
| Directory transfer metadata. More... | |
| struct | librats::FileTransferProgress |
| File transfer progress information. More... | |
| struct | librats::FileTransferConfig |
| File transfer configuration. More... | |
| class | librats::FileTransferManager |
| File transfer manager class Handles efficient chunked file transfers with resume capability. More... | |
Namespaces | |
| namespace | librats |
Typedefs | |
| using | librats::FileTransferProgressCallback = std::function< void(const FileTransferProgress &)> |
| Callback function types for file transfer events. | |
| using | librats::FileTransferCompletedCallback = std::function< void(const std::string &transfer_id, bool success, const std::string &error_message)> |
| using | librats::FileTransferRequestCallback = std::function< bool(const std::string &peer_id, const FileMetadata &metadata, const std::string &transfer_id)> |
| using | librats::DirectoryTransferProgressCallback = std::function< void(const std::string &transfer_id, const std::string ¤t_file, uint64_t files_completed, uint64_t total_files, uint64_t bytes_completed, uint64_t total_bytes)> |
| using | librats::FileRequestCallback = std::function< bool(const std::string &peer_id, const std::string &file_path, const std::string &transfer_id)> |
| using | librats::DirectoryRequestCallback = std::function< bool(const std::string &peer_id, const std::string &directory_path, bool recursive, const std::string &transfer_id)> |
Enumerations | |
| enum class | librats::FileTransferStatus { librats::PENDING , librats::STARTING , librats::IN_PROGRESS , librats::PAUSED , librats::COMPLETED , librats::FAILED , librats::CANCELLED , librats::RESUMING } |
| File transfer status codes. More... | |
| enum class | librats::FileTransferDirection { librats::SENDING , librats::RECEIVING } |
| File transfer direction. More... | |