Projects / udp_copy2


udp_copy2 consists of two executables, udp_send2 and udp_recv2, implementing plain text non-interactive data transfer over UDP/IPv4 with a preset transfer rate. On lossy links, it yields better throughput than TCP-based transfers. It may also be used for smooth user space throttling. It dedicates a mode to SNAT/MASQ so the receiver can initiate transfer from behind a firewall. It features a very precise user space packet scheduler. It handles SIGSTOP in a rational way. It only transfers in one direction for one invocation. It needs and uses no synchronous I/O multiplexing. Shell access is required on both ends. The package also contains the auxiliary multi-threaded tool "bigpipe", which can be used to reduce pipeline latency.

Operating Systems

Recent releases

  •  10 May 2006 06:35

    Release Notes: The LP64 ("-xarch=generic64") mode "size_t"/"socklen_t" discrepancy in "@(#)socket.h 1.74 05/08/02 SMI" on "SunOS 5.10 Generic_118822-25 sun4u sparc SUNW,Ultra-Enterprise-10000" with "Sun C 5.8 2005/10/13" has been worked around by using "msghdr.msg_namelen" (instead of manually typed variables) for address lengths.

    •  06 Feb 2006 07:09

      Release Notes: The package has been ported to Cygwin 1.5.19-4. Some messages are more user friendly now. Several small portability and documentation related fixes have been applied against bugs which likely manifested nowhere. The multi-threaded program "bigpipe" has been added for Unix98 platforms and Unix95 platforms with Posix Threads. It promotes asynchronicity among members of a pipeline. It helps in advancing through regular files on NFS-, SMB-, or USB-mounted devices. This benefits udp_copy2 directly because it requires very low latency on stdin/stdout. The version numbering has been sanitized.

      •  04 Aug 2005 00:30

        Release Notes: This release fixes a typo in the timer design text and makes the build system more portable.

        •  28 Jun 2005 22:17

          Release Notes: This release eliminates a race where a cunningly scheduled "SIGSTOP, let time pass, SIGCONT" triple would result in a timeout instead of restarting the timer. (Hitting the window should be fairly unlikely even without this fix.)

          •  13 Jun 2005 08:31

            Release Notes: This release added OpenVMS support and was tested with Compaq C V6.2-003 on OpenVMS Alpha V7.3-2.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.