INNER CODE UNIT · Go

TestForwardKeepsStreamingAfterHalfClose

docker/compose · relay/main_test.go:137

func TestForwardKeepsStreamingAfterHalfClose(t *testing.T) {
	restore := halfCloseIdleTimeout
	halfCloseIdleTimeout = 300 * time.Millisecond
	t.Cleanup(func() { halfCloseIdleTimeout = restore })

	upstream, err := net.Listen("tcp", "127.0.0.1:0")
	if err != nil {
		t.Fatal(err)
	}
	t.Cleanup(func() { _ = upstream.Close() })
	const chunks = 6
	go func() {
		conn, err := upstream.Accept()
		if err != nil {
			return
		}
		defer func() { _ = conn.Close() }()
		// stream chunks for well past the idle grace, each within it

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…