Merge branch '15640-cwl-test-mem' refs #15640
[arvados.git] / services / ws / router.go
index 987c225eac8ba5a456aa0c2af2e7f56eede749be..14dc63ec37b12d5524885f476a6912643847ce1c 100644 (file)
@@ -13,9 +13,10 @@ import (
        "sync/atomic"
        "time"
 
+       "git.curoverse.com/arvados.git/sdk/go/arvados"
        "git.curoverse.com/arvados.git/sdk/go/ctxlog"
        "git.curoverse.com/arvados.git/sdk/go/health"
-       "github.com/Sirupsen/logrus"
+       "github.com/sirupsen/logrus"
        "golang.org/x/net/websocket"
 )
 
@@ -27,7 +28,8 @@ type wsConn interface {
 }
 
 type router struct {
-       Config         *wsConfig
+       client         arvados.Client
+       cluster        *arvados.Cluster
        eventSource    eventSource
        newPermChecker func() permChecker
 
@@ -52,8 +54,8 @@ type debugStatuser interface {
 
 func (rtr *router) setup() {
        rtr.handler = &handler{
-               PingTimeout: rtr.Config.PingTimeout.Duration(),
-               QueueSize:   rtr.Config.ClientEventQueue,
+               PingTimeout: time.Duration(rtr.cluster.API.SendTimeout),
+               QueueSize:   rtr.cluster.API.WebsocketClientEventQueue,
        }
        rtr.mux = http.NewServeMux()
        rtr.mux.Handle("/websocket", rtr.makeServer(newSessionV0))
@@ -62,7 +64,7 @@ func (rtr *router) setup() {
        rtr.mux.Handle("/status.json", rtr.jsonHandler(rtr.Status))
 
        rtr.mux.Handle("/_health/", &health.Handler{
-               Token:  rtr.Config.ManagementToken,
+               Token:  rtr.cluster.ManagementToken,
                Prefix: "/_health/",
                Routes: health.Routes{
                        "db": rtr.eventSource.DBHealth,
@@ -87,7 +89,7 @@ func (rtr *router) makeServer(newSession sessionFactory) *websocket.Server {
 
                        stats := rtr.handler.Handle(ws, rtr.eventSource,
                                func(ws wsConn, sendq chan<- interface{}) (session, error) {
-                                       return newSession(ws, sendq, rtr.eventSource.DB(), rtr.newPermChecker(), &rtr.Config.Client)
+                                       return newSession(ws, sendq, rtr.eventSource.DB(), rtr.newPermChecker(), &rtr.client)
                                })
 
                        log.WithFields(logrus.Fields{