diff options
| author | Paul Buetow <paul@buetow.org> | 2023-04-17 19:47:08 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2023-05-17 23:22:49 +0300 |
| commit | cd5a1478064ac01a9f1369101ac35c10d32df635 (patch) | |
| tree | a4b7f1f65f5fc75883db8c18972ea29f984eab59 /internal | |
| parent | e96f62acfd73d1c6b9a540927ada2ac8c81cffc1 (diff) | |
initial version
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/config.go | 40 | ||||
| -rw-r--r-- | internal/run.go | 10 |
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) + } +} |
