projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '15640-cwl-test-mem' refs #15640
[arvados.git]
/
services
/
ws
/
router.go
diff --git
a/services/ws/router.go
b/services/ws/router.go
index 2b9bd66b1c466cfdee12d534cddc7eb11d4225e4..14dc63ec37b12d5524885f476a6912643847ce1c 100644
(file)
--- a/
services/ws/router.go
+++ b/
services/ws/router.go
@@
-13,9
+13,10
@@
import (
"sync/atomic"
"time"
"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"
"git.curoverse.com/arvados.git/sdk/go/ctxlog"
"git.curoverse.com/arvados.git/sdk/go/health"
- "github.com/
S
irupsen/logrus"
+ "github.com/
s
irupsen/logrus"
"golang.org/x/net/websocket"
)
"golang.org/x/net/websocket"
)
@@
-27,7
+28,8
@@
type wsConn interface {
}
type router struct {
}
type router struct {
- Config *wsConfig
+ client arvados.Client
+ cluster *arvados.Cluster
eventSource eventSource
newPermChecker func() permChecker
eventSource eventSource
newPermChecker func() permChecker
@@
-52,8
+54,8
@@
type debugStatuser interface {
func (rtr *router) setup() {
rtr.handler = &handler{
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.Websocket
ClientEventQueue,
}
rtr.mux = http.NewServeMux()
rtr.mux.Handle("/websocket", rtr.makeServer(newSessionV0))
}
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{
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,
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) {
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.C
lient)
+ return newSession(ws, sendq, rtr.eventSource.DB(), rtr.newPermChecker(), &rtr.
c
lient)
})
log.WithFields(logrus.Fields{
})
log.WithFields(logrus.Fields{
@@
-123,6
+125,7
@@
func (rtr *router) DebugStatus() interface{} {
func (rtr *router) Status() interface{} {
return map[string]interface{}{
"Clients": atomic.LoadInt64(&rtr.status.ReqsActive),
func (rtr *router) Status() interface{} {
return map[string]interface{}{
"Clients": atomic.LoadInt64(&rtr.status.ReqsActive),
+ "Version": version,
}
}
}
}