# Double quotes to prevent globbing and word splitting is recommended in new # code but we accept it, especially because there were too many before having # address all other issues detected by shellcheck. #shellcheck disable=SC2086
flush_pids()
{ # mptcp_connect in join mode will sleep a bit before completing, # give it some time
sleep 1.1
ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGUSR1 &>/dev/null
for _ in $(seq $((timeout_poll * 10))); do
[ -z "$(ip netns pids "${ns}")" ] && break
sleep 0.1 done
}
# This function is used in the cleanup trap #shellcheck disable=SC2317,SC2329
cleanup()
{
ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null
chk_msk_info()
{
local port="${1}"
local info="${2}"
local cnt="${3}"
local msg="....chk ${info}"
local delta_ms=250 # half what we waited before, just to be sure
local now
now=$(msk_info_get_value "${port}""${info}")
mptcp_lib_print_title "${msg}" if { [ -z "${cnt}" ] || [ -z "${now}" ]; } &&
! mptcp_lib_expect_all_features; then
mptcp_lib_pr_skip "Feature probably not supported"
mptcp_lib_result_skip "${msg}" elif [ "$((cnt + delta_ms))" -lt "${now}" ]; then
mptcp_lib_pr_ok
mptcp_lib_result_pass "${msg}" else
mptcp_lib_pr_fail "value of ${info} changed by $((now - cnt))ms," \ "expected at least ${delta_ms}ms"
mptcp_lib_result_fail "${msg}"
ret=${KSFT_FAIL} fi
}
chk_last_time_info()
{
local port="${1}"
local data_sent data_recv ack_recv
wait_connected()
{
local listener_ns="${1}"
local port="${2}"
local port_hex i
port_hex="$(printf "%04X" "${port}")" for i in $(seq 10); do
ip netns exec ${listener_ns} grep -q " 0100007F:${port_hex} " /proc/net/tcp && break
sleep 0.1 done
}
# graceful termination for I in $(seq 1 $NR_SERVERS); do echo a | ip netns exec $ns ./mptcp_connect -p $((I + 20001)) 127.0.0.1 >/dev/null 2>&1 & done
flush_pids
mptcp_lib_result_print_all_tap
exit $ret
Messung V0.5
¤ Dauer der Verarbeitung: 0.22 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.