Quote:
UDP Peer Connections
Tixati now supports UDP Peer Connections. Our implementation is fully compatible with other clients, but also contains many key improvements to provide vastly better congestion avoidance characteristics, better security, TCP friendliness, and much higher top speed. We have experienced very good results in both emulated and real-world network environments, under a wide array of loss, re-ordering, and delay conditions.
Several new options have been added to Settings > Network > Connections. These allow control over protocol preference and connection timing, including the ability to fully disable TCP or UDP peer connections.
A UPC monitor has been added to the diagnostic tools. This shows a list of all connections including detailed statistics, as well as charts of congestion window sizes, round-trip times, time stamp data, and loss rates.
A UPC log window has also been added to the diagnostic tools. This can optionally log several aspects of socket operation, including raw packets.
UDP Hole-Punching
Tixati now supports incoming and outgoing UDP hole-punching, compatible with all other clients supporting the common "ut_holepunch" extension. This alleviates the need to map an incoming port through broadband routers and firewalls that use network address translation (NAT).
New PEX Core
The PEX (Peer EXchange) engine has been completely rebuilt from scratch. This was needed for optimal operation of UDP Hole-Punching, and should perform much better than previous versions. A much higher connection success rate is now achieved due to these changes.
New Throttle Timing Core
The engine that controls the timing and spacing of both UDP and TCP packets has been re-engineered to raise the minimum packet size under heavy bandwidth restriction. This helps improve throughput by maximizing the average ratio of packet data to packet header.
CPU usage under heavy throttling should be a bit lower now as the throttle now works under a single-pass algorithm as opposed to the previous multi-pass system which would need to repeat many times per cycle.
New Base Sockets Event Notifiers
The Linux event mechanism for sockets is now EPOLL-based instead of the old Realtime-Signals system. This allows events to be processed with far fewer system calls and switches between threads.
Both the Windows and Linux event mechanisms are now mostly lock-free, which also eliminates many system calls.
Multi-Priority Task Engine
The way in which Tixati handles it's various background duties has now been organized into priority levels. This means that low-priority tasks (such as offline-checking file pieces) will not interfere with regular tasks (processing peer messages or saving pieces) or high-priority tasks (servicing UPC or the throttle). This should also improve interface responsiveness.
The task engine has also been made lock-free, eliminating thousands of system calls per task-cycle.
Minor Protocol-Compatibility Improvements
HTTP connections are more reliable and compatible than ever. We made several improvements that allow Tixati to operate reliably with servers that use uncommon keep-alive or compression schemes.
Peer connections now also support the "upload_only" extension within the inner "m" LT-EXT dictionary as opposed to the traditional field of the same name used in the outer root LT-EXT dictionary. This was observed on the open internet in a common client and added for the sake of better compatibility.
Miscellaneous Other Fixes/Improvements
Several other minor improvements and fixes have been made within the GUI. A new "Link" column has been added for peers. Auto-Shutdown can now optionally wait for both downloads and seeds to complete. Several other minor fixes have been made.