--- deliantra/server/include/client.h 2007/07/30 02:03:02 1.66 +++ deliantra/server/include/client.h 2007/08/24 00:26:10 1.67 @@ -244,38 +244,11 @@ struct tcp_info tcpi; tstamp next_rate_adjust; -#if FOR_PERL - // unfortunately, this emans that we *require* tcp_info now... - ACC (RW, tcpi.tcpi_state); - ACC (RW, tcpi.tcpi_ca_state); - ACC (RW, tcpi.tcpi_retransmits); - ACC (RW, tcpi.tcpi_probes); - ACC (RW, tcpi.tcpi_backoff); - ACC (RW, tcpi.tcpi_options); - ACC (RO, tcpi.tcpi_snd_wscale); - ACC (RO, tcpi.tcpi_rcv_wscale); - ACC (RW, tcpi.tcpi_rto); - ACC (RW, tcpi.tcpi_ato); - ACC (RW, tcpi.tcpi_snd_mss); - ACC (RW, tcpi.tcpi_rcv_mss); - ACC (RW, tcpi.tcpi_unacked); - ACC (RW, tcpi.tcpi_sacked); - ACC (RW, tcpi.tcpi_lost); - ACC (RW, tcpi.tcpi_retrans); - ACC (RW, tcpi.tcpi_fackets); - ACC (RW, tcpi.tcpi_last_data_sent); - ACC (RW, tcpi.tcpi_last_ack_sent); - ACC (RW, tcpi.tcpi_last_data_recv); - ACC (RW, tcpi.tcpi_last_ack_recv); - ACC (RW, tcpi.tcpi_pmtu); - ACC (RW, tcpi.tcpi_rcv_ssthresh); - ACC (RW, tcpi.tcpi_rtt); - ACC (RW, tcpi.tcpi_rttvar); - ACC (RW, tcpi.tcpi_snd_ssthresh); - ACC (RW, tcpi.tcpi_snd_cwnd); - ACC (RW, tcpi.tcpi_advmss); - ACC (RW, tcpi.tcpi_reordering); -#endif + + unordered_vector mapinfo_queue; + void mapinfo_queue_clear (); + void mapinfo_queue_run (); + bool mapinfo_try (char *buf); struct ixsend { int16_t pri; // unused @@ -365,6 +338,38 @@ ~client (); }; +#if FOR_PERL + ACC (RW, tcpi.tcpi_state); + ACC (RW, tcpi.tcpi_ca_state); + ACC (RW, tcpi.tcpi_retransmits); + ACC (RW, tcpi.tcpi_probes); + ACC (RW, tcpi.tcpi_backoff); + ACC (RW, tcpi.tcpi_options); + ACC (RO, tcpi.tcpi_snd_wscale); + ACC (RO, tcpi.tcpi_rcv_wscale); + ACC (RW, tcpi.tcpi_rto); + ACC (RW, tcpi.tcpi_ato); + ACC (RW, tcpi.tcpi_snd_mss); + ACC (RW, tcpi.tcpi_rcv_mss); + ACC (RW, tcpi.tcpi_unacked); + ACC (RW, tcpi.tcpi_sacked); + ACC (RW, tcpi.tcpi_lost); + ACC (RW, tcpi.tcpi_retrans); + ACC (RW, tcpi.tcpi_fackets); + ACC (RW, tcpi.tcpi_last_data_sent); + ACC (RW, tcpi.tcpi_last_ack_sent); + ACC (RW, tcpi.tcpi_last_data_recv); + ACC (RW, tcpi.tcpi_last_ack_recv); + ACC (RW, tcpi.tcpi_pmtu); + ACC (RW, tcpi.tcpi_rcv_ssthresh); + ACC (RW, tcpi.tcpi_rtt); + ACC (RW, tcpi.tcpi_rttvar); + ACC (RW, tcpi.tcpi_snd_ssthresh); + ACC (RW, tcpi.tcpi_snd_cwnd); + ACC (RW, tcpi.tcpi_advmss); + ACC (RW, tcpi.tcpi_reordering); +#endif + #define CLIENT_SUPPORT_READABLES(__sockPtr,__type)\ ( ((__type)>0) &&\ ((__sockPtr)->has_readable_type) && \