summaryrefslogtreecommitdiff
path: root/foreign/openpgm/lost_data_tsi.patch
blob: bfd4425564e897f2d9cb87b0db303032c55d529e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
--- libpgm-1.2.14/openpgm/pgm/transport.c	2009-08-27 04:54:04.000000000 +0200
+++ foreign/openpgm/libpgm-1.2.14/openpgm/pgm/transport.c	2009-09-22 14:36:07.713124619 +0200
@@ -2342,6 +2342,7 @@
 			if (waiting_rxw->ack_cumulative_losses != waiting_rxw->cumulative_losses)
 			{
 				transport->has_lost_data = TRUE;
+				memcpy (&(transport->lost_data_tsi), waiting_rxw->identifier, sizeof (pgm_tsi_t));
 				waiting_rxw->pgm_sock_err.lost_count = waiting_rxw->cumulative_losses - waiting_rxw->ack_cumulative_losses;
 				waiting_rxw->ack_cumulative_losses = waiting_rxw->cumulative_losses;
 			}
@@ -2705,6 +2706,7 @@
 			if (waiting_rxw->ack_cumulative_losses != waiting_rxw->cumulative_losses)
 			{
 				transport->has_lost_data = TRUE;
+				memcpy (&(transport->lost_data_tsi), waiting_rxw->identifier, sizeof (pgm_tsi_t));
 				waiting_rxw->pgm_sock_err.lost_count = waiting_rxw->cumulative_losses - waiting_rxw->ack_cumulative_losses;
 				waiting_rxw->ack_cumulative_losses = waiting_rxw->cumulative_losses;
 			}
@@ -3407,6 +3409,7 @@
 		    !sender_rxw->waiting_link.data)
 		{
 			transport->has_lost_data = TRUE;
+			memcpy (&(transport->lost_data_tsi), sender_rxw->identifier, sizeof (pgm_tsi_t));
 			sender_rxw->pgm_sock_err.lost_count = sender_rxw->cumulative_losses - sender_rxw->ack_cumulative_losses;
 			sender_rxw->ack_cumulative_losses = sender_rxw->cumulative_losses;
 
@@ -3823,6 +3826,7 @@
 	    !peer_rxw->waiting_link.data)
 	{
 		transport->has_lost_data = TRUE;
+		memcpy (&(transport->lost_data_tsi), peer_rxw->identifier, sizeof (pgm_tsi_t));
 		peer_rxw->pgm_sock_err.lost_count = peer_rxw->cumulative_losses - peer_rxw->ack_cumulative_losses;
 		peer_rxw->ack_cumulative_losses = peer_rxw->cumulative_losses;
 
@@ -3952,6 +3956,7 @@
 	    !peer_rxw->waiting_link.data)
 	{
 		transport->has_lost_data = TRUE;
+		memcpy (&(transport->lost_data_tsi), peer_rxw->identifier, sizeof (pgm_tsi_t));
 		peer_rxw->pgm_sock_err.lost_count = peer_rxw->cumulative_losses - peer_rxw->ack_cumulative_losses;
 		peer_rxw->ack_cumulative_losses = peer_rxw->cumulative_losses;
 
@@ -4849,6 +4854,7 @@
 		    !rxw->waiting_link.data)
 		{
 			transport->has_lost_data = TRUE;
+			memcpy (&(transport->lost_data_tsi), rxw->identifier, sizeof (pgm_tsi_t));
 			rxw->pgm_sock_err.lost_count = rxw->cumulative_losses - rxw->ack_cumulative_losses;
 			rxw->ack_cumulative_losses = rxw->cumulative_losses;
 
@@ -5166,6 +5172,7 @@
 	    !rxw->waiting_link.data)
 	{
 		transport->has_lost_data = TRUE;
+		memcpy (&(transport->lost_data_tsi), rxw->identifier, sizeof (pgm_tsi_t));
 		rxw->pgm_sock_err.lost_count = rxw->cumulative_losses - rxw->ack_cumulative_losses;
 		rxw->ack_cumulative_losses = rxw->cumulative_losses;
 
@@ -5303,6 +5310,7 @@
 	    !rxw->waiting_link.data)
 	{
 		transport->has_lost_data = TRUE;
+		memcpy (&(transport->lost_data_tsi), rxw->identifier, sizeof (pgm_tsi_t));
 		rxw->pgm_sock_err.lost_count = rxw->cumulative_losses - rxw->ack_cumulative_losses;
 		rxw->ack_cumulative_losses = rxw->cumulative_losses;
 
--- libpgm-1.2.14/openpgm/pgm/include/pgm/transport.h	2009-08-27 04:53:23.000000000 +0200
+++ foreign/openpgm/libpgm-1.2.14/openpgm/pgm/include/pgm/transport.h	2009-09-21 15:49:36.000000000 +0200
@@ -205,6 +205,7 @@
     gboolean		is_bound;
     gboolean		is_open;
     gboolean            has_lost_data;
+    pgm_tsi_t           lost_data_tsi;
     gboolean		will_close_on_failure;
 
     gboolean		can_send_data;			/* and SPMs */