Merge branch 'routing_refactor' into next

This commit is contained in:
Marcos Lilljedahl
2017-07-18 14:51:02 -03:00
24 changed files with 1442 additions and 502 deletions

View File

@@ -5,14 +5,17 @@ import (
"os"
"github.com/docker/docker/client"
"github.com/googollee/go-socket.io"
"github.com/play-with-docker/play-with-docker/config"
"github.com/play-with-docker/play-with-docker/docker"
"github.com/play-with-docker/play-with-docker/event"
"github.com/play-with-docker/play-with-docker/pwd"
"github.com/play-with-docker/play-with-docker/storage"
)
var core pwd.PWDApi
var Broadcast pwd.BroadcastApi
var e event.EventApi
var ws *socketio.Server
func Bootstrap() {
c, err := client.NewEnvClient()
@@ -22,18 +25,24 @@ func Bootstrap() {
d := docker.NewDocker(c)
Broadcast, err = pwd.NewBroadcast(WS, WSError)
if err != nil {
log.Fatal(err)
}
e = event.NewLocalBroker()
t := pwd.NewScheduler(Broadcast, d)
t := pwd.NewScheduler(e, d)
s, err := storage.NewFileStorage(config.SessionsFile)
if err != nil && !os.IsNotExist(err) {
log.Fatal("Error initializing StorageAPI: ", err)
}
core = pwd.NewPWD(d, t, Broadcast, s)
core = pwd.NewPWD(d, t, e, s)
}
func RegisterEvents(s *socketio.Server) {
ws = s
e.OnAny(broadcastEvent)
}
func broadcastEvent(eventType event.EventType, sessionId string, args ...interface{}) {
ws.BroadcastTo(sessionId, eventType.String(), args...)
}