summaryrefslogtreecommitdiff
path: root/cmd/_____/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/_____/server.go')
-rw-r--r--cmd/_____/server.go64
1 files changed, 0 insertions, 64 deletions
diff --git a/cmd/_____/server.go b/cmd/_____/server.go
deleted file mode 100644
index 5542e7c9..00000000
--- a/cmd/_____/server.go
+++ /dev/null
@@ -1,64 +0,0 @@
-package roadrunner
-
-import (
- "os/exec"
- "sync"
-)
-
-const (
- // EventNewPool triggered when server creates new pool.
- EventNewPool = 60
-
- // EventDestroyPool triggered when server destroys existed pool.
- EventDestroyPool = 61
-)
-
-// Service manages pool creation and swapping.
-type Server struct {
- // configures server, pool, cmd creation and factory.
- scfg *ServerConfig
-
- // worker command creator
- cmd func() *exec.Cmd
-
- // observes pool events (can be attached to multiple pools at the same time)
- observer func(event int, ctx interface{})
-
- // creates and connects to workers
- factory Factory
-
- // protects pool while the switch
- mu sync.Mutex
-}
-
-// todo: do assignment
-
-// Reconfigure configures underlying pool and destroys it's previous version if any.
-func (r *Server) Configure(cfg Config) error {
- r.mu.Lock()
- previous := r.pool
- r.mu.Unlock()
-
- pool, err := NewPool(r.cmd, r.factory, cfg)
- if err != nil {
- return err
- }
-
- r.throw(EventNewPool, pool)
-
- r.mu.Lock()
-
- r.cfg, r.pool = cfg, pool
- r.pool.Observe(r.poolObserver)
-
- r.mu.Unlock()
-
- if previous != nil {
- go func(p Pool) {
- r.throw(EventDestroyPool, p)
- p.Destroy()
- }(previous)
- }
-
- return nil
-}