| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- package internet_test
 
- import (
 
- 	"context"
 
- 	"testing"
 
- 	"v2ray.com/core/common"
 
- 	"v2ray.com/core/common/buf"
 
- 	"v2ray.com/core/common/compare"
 
- 	"v2ray.com/core/testing/servers/tcp"
 
- 	. "v2ray.com/core/transport/internet"
 
- )
 
- func TestTCPFastOpen(t *testing.T) {
 
- 	tcpServer := tcp.Server{
 
- 		MsgProcessor: func(b []byte) []byte {
 
- 			return b
 
- 		},
 
- 	}
 
- 	dest, err := tcpServer.StartContext(ContextWithStreamSettings(context.Background(), &MemoryStreamConfig{
 
- 		SocketSettings: &SocketConfig{
 
- 			Tfo: SocketConfig_Enable,
 
- 		},
 
- 	}))
 
- 	common.Must(err)
 
- 	defer tcpServer.Close()
 
- 	ctx := context.Background()
 
- 	ctx = ContextWithStreamSettings(ctx, &MemoryStreamConfig{
 
- 		SocketSettings: &SocketConfig{
 
- 			Tfo: SocketConfig_Enable,
 
- 		},
 
- 	})
 
- 	dialer := DefaultSystemDialer{}
 
- 	conn, err := dialer.Dial(ctx, nil, dest)
 
- 	common.Must(err)
 
- 	defer conn.Close()
 
- 	_, err = conn.Write([]byte("abcd"))
 
- 	common.Must(err)
 
- 	b := buf.New()
 
- 	common.Must(b.Reset(buf.ReadFrom(conn)))
 
- 	if err := compare.BytesEqualWithDetail(b.Bytes(), []byte("abcd")); err != nil {
 
- 		t.Fatal(err)
 
- 	}
 
- }
 
 
  |