//-----------------------------------------------------> int enviar_header(int id, int tamanio, int socket) { void * buffer = serializar_header((uint8_t) id, (uint32_t) tamanio); int result = send(socket, buffer, 5, 0); if (result <= 0) { //printf("Error en el envio del header %d\n", id); } free(buffer); return result; }
//-----------------------------------------------------> int enviar_handshake(int socket, int id) { void * buffer = serializar_header((uint8_t) id, (uint32_t) 0); int result = send(socket, buffer, 5, 0); if (result == -1) { puts("Error en el envio del handshake"); } else { puts("Handshake enviado"); } free(buffer); return result; }
int enviar_header(int socket, t_header *header) { int bytes_enviados_totales = 0; int bytes_enviados = 0; void *paquete_serializado = serializar_header(header); // Ciclo hasta que se envie toodo lo que quiero enviar if (socket >= 0) { while (bytes_enviados_totales < sizeof(t_header)) { if ((bytes_enviados = send(socket, paquete_serializado, sizeof(t_header), 0)) == -1) { perror("send"); close(socket); return -1; } bytes_enviados_totales += bytes_enviados; } } free(paquete_serializado); return bytes_enviados_totales; }
//-----------------------------------------------------> void * serializar_imprimir_valor(int valor) { return serializar_header((uint8_t) 11, (uint32_t) valor); }
//-----------------------------------------------------> void * serializar_respuesta_inicio(int response) { return serializar_header((uint8_t) 17, (uint32_t) response); }
//-----------------------------------------------------> void * serializar_tamanio_pagina(int page_size) { return serializar_header((uint8_t) 19, (uint32_t) page_size); }
//-----------------------------------------------------> void * serializar_cambio_proceso(int pid) { return serializar_header((uint8_t) 18, (uint32_t) pid); }
//-----------------------------------------------------> void * serializar_fin_prog(int pid) { return serializar_header((uint8_t) 13, (uint32_t) pid); }