y_socket: send ok when all seqs done, if not, sender resend all msg, try 5 times

This commit is contained in:
2025-10-09 14:10:40 +02:00
parent 463cd6054b
commit a8459fee1c
5 changed files with 244 additions and 21 deletions
@@ -11,23 +11,27 @@
#include "json_t/json_t.h"
#include "list_t/list_t.h"
void fileNameDateScore(char* filename, char * pre, char* post,size_t score);
struct arg_send_file{
struct pollfd *fds;
struct main_list_y_NODE_T *nodes;
y_NODE_T node;
char * filename;
struct main_list_y_ptr_HEADER_T *m_ok_head_l_t;
};
void* y_socket_send_file_for_all_nodes(void* arg);
void* y_socket_send_file_for_node(void* arg);
enum cmd_type {
cmd_update_kill,
cmd_update_standby,
cmd_update_wakeup,
cmd_post_file,
cmd_post_ok,
cmd_post_var,
cmd_get_file,
cmd_get_var,
@@ -53,6 +57,7 @@ typedef struct header_t {
enum cmd_type cmd_t;
// size_t seq;
char eof;
// char ok;
// void *content;
size_t size_nameid;
char * nameid;/* containerid: filename_src_dst_tm */
@@ -67,6 +72,7 @@ GEN_HEAD_PTR_LIST(y_ptr_HEADER_T)
size_t set_tempAddr_from_node(char *tempAddr, y_NODE_T node);
//void receve_from_node(struct pollfd *fds, char *msg, size_t count);
void receve_from_node(struct main_list_y_ptr_HEADER_T *m_head_l_t, struct main_list_y_ptr_STRING *m_str, char * srcAddr, char *filename);
void receve_from_node(struct pollfd *fds, struct main_list_y_ptr_HEADER_T *m_head_l_t, struct main_list_y_ptr_STRING *m_str, y_NODE_T node /* char * srcAddr*/, char *filename);
long y_append_to_ok_header_l_(struct main_list_y_ptr_HEADER_T *m_ok_head_l_t, char *nameid );
#endif /*Y_FILE_HANDLER_T_H__C*/
@@ -21,5 +21,6 @@ GEN_HEAD_PTR_LIST(y_ptr_STRING)
size_t total_size_list_y_ptr_STRING(struct main_list_y_ptr_STRING *mstr);
size_t copy_list_y_ptr_STRING_to_one_string(char **p_dst_str, struct main_list_y_ptr_STRING *mstr);
struct main_list_y_ptr_STRING * split_str_to_main_list_y_ptr_STRING(char *str_org, char sep, size_t limit_size_str_org);
#endif /* Y_PTR_STRING_T_H__C */