mirror of
https://github.com/strukturag/nextcloud-spreed-signaling.git
synced 2025-05-13 11:11:39 +00:00
Set WriteBufferPool for websocket connections.
This commit is contained in:
parent
53ff3d39e7
commit
bfc4d7facf
5 changed files with 18 additions and 6 deletions
|
@ -46,6 +46,8 @@ const (
|
|||
|
||||
var (
|
||||
ErrFederationNotSupported = NewError("federation_unsupported", "The target server does not support federation.")
|
||||
|
||||
federationWriteBufferPool = &sync.Pool{}
|
||||
)
|
||||
|
||||
func isClosedError(err error) bool {
|
||||
|
@ -102,7 +104,9 @@ func NewFederationClient(ctx context.Context, hub *Hub, session *ClientSession,
|
|||
return nil, fmt.Errorf("expected federation room message, got %+v", message)
|
||||
}
|
||||
|
||||
var dialer websocket.Dialer
|
||||
dialer := &websocket.Dialer{
|
||||
WriteBufferPool: federationWriteBufferPool,
|
||||
}
|
||||
if hub.skipFederationVerify {
|
||||
dialer.TLSClientConfig = &tls.Config{
|
||||
InsecureSkipVerify: true,
|
||||
|
@ -130,7 +134,7 @@ func NewFederationClient(ctx context.Context, hub *Hub, session *ClientSession,
|
|||
|
||||
reconnectDelay: initialFederationReconnectInterval,
|
||||
|
||||
dialer: &dialer,
|
||||
dialer: dialer,
|
||||
url: url,
|
||||
closer: NewCloser(),
|
||||
}
|
||||
|
|
3
hub.go
3
hub.go
|
@ -105,6 +105,8 @@ var (
|
|||
websocketReadBufferSize = 4096
|
||||
websocketWriteBufferSize = 4096
|
||||
|
||||
websocketWriteBufferPool = &sync.Pool{}
|
||||
|
||||
// Delay after which a screen publisher should be cleaned up.
|
||||
cleanupScreenPublisherDelay = time.Second
|
||||
|
||||
|
@ -322,6 +324,7 @@ func NewHub(config *goconf.ConfigFile, events AsyncEvents, rpcServer *GrpcServer
|
|||
upgrader: websocket.Upgrader{
|
||||
ReadBufferSize: websocketReadBufferSize,
|
||||
WriteBufferSize: websocketWriteBufferSize,
|
||||
WriteBufferPool: websocketWriteBufferPool,
|
||||
},
|
||||
cookie: NewSessionIdCodec([]byte(hashKey), blockBytes),
|
||||
info: NewWelcomeServerMessage(version, DefaultFeatures...),
|
||||
|
|
|
@ -767,7 +767,7 @@ func TestWebsocketFeatures(t *testing.T) {
|
|||
ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
|
||||
defer cancel()
|
||||
|
||||
conn, response, err := websocket.DefaultDialer.DialContext(ctx, getWebsocketUrl(server.URL), nil)
|
||||
conn, response, err := testClientDialer.DialContext(ctx, getWebsocketUrl(server.URL), nil)
|
||||
require.NoError(err)
|
||||
defer conn.Close() // nolint
|
||||
|
||||
|
|
|
@ -119,8 +119,9 @@ const (
|
|||
|
||||
var (
|
||||
janusDialer = websocket.Dialer{
|
||||
Subprotocols: []string{"janus-protocol"},
|
||||
Proxy: http.ProxyFromEnvironment,
|
||||
Subprotocols: []string{"janus-protocol"},
|
||||
Proxy: http.ProxyFromEnvironment,
|
||||
WriteBufferPool: &sync.Pool{},
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -49,6 +49,10 @@ var (
|
|||
testInternalSecret = []byte("internal-secret")
|
||||
|
||||
ErrNoMessageReceived = fmt.Errorf("no message was received by the server")
|
||||
|
||||
testClientDialer = websocket.Dialer{
|
||||
WriteBufferPool: &sync.Pool{},
|
||||
}
|
||||
)
|
||||
|
||||
type TestBackendClientAuthParams struct {
|
||||
|
@ -226,7 +230,7 @@ type TestClient struct {
|
|||
|
||||
func NewTestClientContext(ctx context.Context, t *testing.T, server *httptest.Server, hub *Hub) *TestClient {
|
||||
// Reference "hub" to prevent compiler error.
|
||||
conn, _, err := websocket.DefaultDialer.DialContext(ctx, getWebsocketUrl(server.URL), nil)
|
||||
conn, _, err := testClientDialer.DialContext(ctx, getWebsocketUrl(server.URL), nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
messageChan := make(chan []byte)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue