Modifcations of the sendout of packets
This commit is contained in:
		
							parent
							
								
									822b344a57
								
							
						
					
					
						commit
						eb4770e36c
					
				
							
								
								
									
										12
									
								
								src/node.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								src/node.c
									
									
									
									
									
								
							| @ -421,8 +421,10 @@ int add_tlv(packet *pack, tlv *tlv, struct sockaddr_in6 *dest, int socket_num) { | ||||
| 
 | ||||
| // Send length bytes from packet
 | ||||
| int send_packet(char *packet_buff, int16_t length, struct sockaddr_in6 *dest, int socket_num) { | ||||
|     ((packet*) packet_buff)->length = htons(((packet*) packet_buff)->length); | ||||
| 
 | ||||
|     // Vectorized buffer
 | ||||
|     struct iovec vec_buff = {.iov_len = sizeof(packet_buff), .iov_base = packet_buff}; | ||||
|     struct iovec vec_buff = {.iov_len = length, .iov_base = packet_buff}; | ||||
| 
 | ||||
|     int error_while_sending = 0; | ||||
| 
 | ||||
| @ -442,7 +444,7 @@ int send_packet(char *packet_buff, int16_t length, struct sockaddr_in6 *dest, in | ||||
|         printf(">> Sent out only part of the packet.\n"); | ||||
|         error_while_sending = 1; | ||||
|     } else { | ||||
|         printf(">> Send out packet to peer\n"); | ||||
|         printf(">> Send out packet to peer, size : %i\n", response_code); | ||||
|     } | ||||
| 
 | ||||
|     if (error_while_sending == 1) { | ||||
| @ -519,6 +521,7 @@ int send_single_tlv(tlv *tlv, struct sockaddr_in6 *dest, int socket_num) { | ||||
|     } | ||||
| 
 | ||||
|     // Send the packet
 | ||||
|     printf("(%i)\n", pack.length ); | ||||
|     return send_packet((char*) &pack, pack.length, dest, socket_num); | ||||
| } | ||||
| 
 | ||||
| @ -652,7 +655,8 @@ int check_header(char * received_data_buffer, int received_data_len, struct pack | ||||
|         return -1; | ||||
|     } | ||||
| 
 | ||||
|     if (packet_to_return->length + 4 > received_data_len  ) { | ||||
|     printf("packet : %i, %i \n", packet_to_return->length + 4,received_data_len ); | ||||
|     if (packet_to_return->length + 4 < received_data_len  ) { | ||||
|         perror(">> The packet length is bigger than the UDP datagram, which is not possible with the current laws of physics."); | ||||
|         return -1; | ||||
|     } | ||||
| @ -1002,7 +1006,7 @@ int run_node(int sock_fd){ | ||||
| 				if (bytes > 0) { | ||||
| 					printf("Received %i bytes as : %s\n", (int)bytes, output_buffer); | ||||
| 					// Treat incoming packets.
 | ||||
| 					int work_tlv_status = listen_for_packets(output_buffer, bytes, &sender, sock_fd); | ||||
| 					int work_tlv_status = listen_for_packets(&output_buffer, bytes, &sender, sock_fd); | ||||
| 					if (work_tlv_status < 0) { | ||||
| 						perror(">> Error while treating the incoming packet."); | ||||
| 					} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 n07070
						n07070