func (t *TestTransport) Protocol() centrifuge.ProtocolType {
	return t.protoType
}
Protocol - ...
package tools
import (
	"context"
	"io"
	"log"
	"net/http"
	"net/http/httptest"
	"sync"
	"google.golang.org/grpc/test/bufconn"
	"github.com/centrifugal/centrifugo/v3/internal/proxyproto"
	"google.golang.org/grpc"
	"github.com/centrifugal/centrifuge"
)
type TestTransport struct {
	mu         sync.Mutex
	sink       chan []byte
	closed     bool
	closeCh    chan struct{}
	disconnect *centrifuge.Disconnect
	protoType  centrifuge.ProtocolType
}
func NewTestTransport() *TestTransport {
	return &TestTransport{
		protoType: centrifuge.ProtocolTypeJSON,
		closeCh:   make(chan struct{}),
	}
}
func (t *TestTransport) Write(message []byte) error {
	return t.WriteMany(message)
}
func (t *TestTransport) WriteMany(messages ...[]byte) error {
	t.mu.Lock()
	defer t.mu.Unlock()
	if t.closed {
		return io.EOF
	}
	for _, buf := range messages {
		dataCopy := make([]byte, len(buf))
		copy(dataCopy, buf)
		if t.sink != nil {
			t.sink <- dataCopy
		}
	}
	return nil
}
func (t *TestTransport) Name() string {
	return "test_transport"
}