History log of /recipes/tpc/lib/TcpStream.cc
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# e146b157 19-Apr-2021 Shuo Chen <chenshuo@chenshuo.com>

Compile tpc on FreeBSD 13.

# 8bdf4aaf 24-Feb-2021 Shuo Chen <chenshuo@chenshuo.com>

Use TEMP_FAILURE_RETRY() to deal with EINTR.

Also replace read(2) with recv(2), write(2) with send(2).
On Linux 5.10, recv/send save a hop in VFS, so it's a bit more
efficient.

read -> do_syscall_64 -> ksys_read -> vfs_read -> new_sync_read
-> call_read_iter -> sock_read_iter -> inet_recvmsg
readv -> do_syscall_64 -> do_readv -> vfs_readv -> do_iter_read
-> do_iter_readv_writev -> call_read_iter -> sock_read_iter
-> inet_recvmsg
recv -> do_syscall_64 -> __x64_sys_recvfrom -> __se_sys_recvfrom
-> __do_sys_recvfrom -> __sys_recv_from -> inet_recvmsg

write -> do_syscall_64 -> ksys_write -> vfs_write -> new_sync_write
-> call_write_iter -> sock_write_iter -> sock_sendmsg
send -> do_syscall_64 -> __x64_sys_sendto -> __se_sys_sendto
-> __do_sys_sendto -> __sys_sendto -> sock_sendmsg

# 24ca08a8 01-Jul-2020 Shuo Chen <chenshuo@chenshuo.com>

Support IPv6.

# 726c52da 08-Jan-2017 Shuo Chen <chenshuo@chenshuo.com>

organize source files in tpc/