refactor: merge File/FileReceive, add optional metadata transfer with -M flag
- Remove FileReceive struct; use File everywhere with nullable FileMetadata* - Remove struct stat from File; file size lives in Data->size (data_create_reserve) - Add FileMetadata struct (mode, uid, gid, mtime) sent conditionally over wire - Add -M / --preserve flag to client - Restore permissions, ownership, timestamps on disk write - Wire format uses per-file present flag for metadata (zero overhead when off)
This commit is contained in:
+3
-2
@@ -12,6 +12,7 @@ typedef struct Config {
|
||||
bool use_chunk_serialization;
|
||||
bool use_compression;
|
||||
bool use_single_send_per_file;
|
||||
bool use_metadata;
|
||||
int compression_level;
|
||||
int num_connections;
|
||||
} Config;
|
||||
@@ -19,8 +20,8 @@ typedef struct Config {
|
||||
Config *config_create(char *version, char *send_directory,
|
||||
char *receive_directory, bool save_to_disk,
|
||||
bool use_multithreading, bool use_chunk_serialization,
|
||||
bool use_compression, int compression_level,
|
||||
int num_connections);
|
||||
bool use_compression, bool use_metadata,
|
||||
int compression_level, int num_connections);
|
||||
void config_delete(Config *config);
|
||||
void config_send(int file_descriptor, Config *config);
|
||||
Config *config_receive(int file_descriptor);
|
||||
|
||||
Reference in New Issue
Block a user