summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2023-04-17 19:47:08 +0300
committerPaul Buetow <paul@buetow.org>2023-05-17 23:22:49 +0300
commitcd5a1478064ac01a9f1369101ac35c10d32df635 (patch)
treea4b7f1f65f5fc75883db8c18972ea29f984eab59 /internal
parente96f62acfd73d1c6b9a540927ada2ac8c81cffc1 (diff)
initial version
Diffstat (limited to 'internal')
-rw-r--r--internal/config.go40
-rw-r--r--internal/run.go10
2 files changed, 50 insertions, 0 deletions
diff --git a/internal/config.go b/internal/config.go
new file mode 100644
index 0000000..c3fff26
--- /dev/null
+++ b/internal/config.go
@@ -0,0 +1,40 @@
+package internal
+
+import (
+ "encoding/json"
+ "io/ioutil"
+ "os"
+)
+
+type participant struct {
+ Hostname string
+ Port int
+}
+
+type config struct {
+ Hostname string
+ Port int
+ Participants []participant
+}
+
+func newConfig(configFile string) (config, error) {
+ var config config
+
+ file, err := os.Open(configFile)
+ if err != nil {
+ return config, err
+ }
+ defer file.Close()
+
+ bytes, err := ioutil.ReadAll(file)
+ if err != nil {
+ return config, err
+ }
+
+ err = json.Unmarshal(bytes, &config)
+ if err != nil {
+ return config, err
+ }
+
+ return config, nil
+}
diff --git a/internal/run.go b/internal/run.go
new file mode 100644
index 0000000..2d177ea
--- /dev/null
+++ b/internal/run.go
@@ -0,0 +1,10 @@
+package internal
+
+import "context"
+
+func Run(ctx context.Context, configFile string) {
+ _, err := newConfig(configFile)
+ if err != nil {
+ panic(err)
+ }
+}