- tunnel_send_client_ucast (t, msg);
- tunnel_send_fwd_ack (t, GNUNET_MESSAGE_TYPE_MESH_UNICAST);
+// if (GMC_is_pid_bigger(pid, t->prev_fc.last_pid_recv)) FIXME use
+ if (pid == t->prev_fc.last_pid_recv + 1)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ " pid %u not seen yet, forwarding\n", pid);
+ tunnel_send_client_ucast (t, msg);
+ tunnel_send_fwd_ack (t, GNUNET_MESSAGE_TYPE_MESH_UNICAST);
+ }
+ else
+ {
+// GNUNET_STATISTICS_update (stats, "# duplicate PID", 1, GNUNET_NO);
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ " Pid %u not expected, sending FWD ACK!\n", pid);
+ tunnel_send_fwd_ack (t, GNUNET_MESSAGE_TYPE_MESH_DATA_ACK);
+ }