summaryrefslogtreecommitdiff
path: root/plugins/server/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/server/config.go')
-rw-r--r--plugins/server/config.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/plugins/server/config.go b/plugins/server/config.go
new file mode 100644
index 00000000..147ae0f7
--- /dev/null
+++ b/plugins/server/config.go
@@ -0,0 +1,41 @@
+package server
+
+import (
+ "time"
+
+ "github.com/spiral/roadrunner/v2/interfaces/server"
+)
+
+// Config config combines factory, pool and cmd configurations.
+type Config struct {
+ // Command to run as application.
+ Command string
+
+ // User to run application under.
+ User string
+
+ // Group to run application under.
+ Group string
+
+ // Env represents application environment.
+ Env server.Env
+
+ // Listen defines connection method and factory to be used to connect to workers:
+ // "pipes", "tcp://:6001", "unix://rr.sock"
+ // This config section must not change on re-configuration.
+ Relay string
+
+ // RelayTimeout defines for how long socket factory will be waiting for worker connection. This config section
+ // must not change on re-configuration. Defaults to 60s.
+ RelayTimeout time.Duration
+}
+
+func (cfg *Config) InitDefaults() {
+ if cfg.Relay == "" {
+ cfg.Relay = "pipes"
+ }
+
+ if cfg.RelayTimeout == 0 {
+ cfg.RelayTimeout = time.Second * 60
+ }
+}