package rdwr import ( "context" "io" "gfx.cafe/open/jrpc/pkg/codec" "gfx.cafe/open/jrpc/pkg/jrpctest" "gfx.cafe/open/jrpc/pkg/server" ) func ServerMaker() (*server.Server, jrpctest.ClientMaker, func()) { rd_s, wr_s := io.Pipe() rd_c, wr_c := io.Pipe() s := jrpctest.NewServer() clientCodec := NewCodec(rd_c, wr_s, nil) go func() { s.ServeCodec(context.Background(), clientCodec) }() return s, func() codec.Conn { return NewClient(rd_s, wr_c) }, func() {} }