first servicable server

This commit is contained in:
Barak Michener 2018-03-29 14:29:05 -07:00
parent 90aa93a1d7
commit 869999fc3e
8 changed files with 309 additions and 12 deletions

View file

@ -4,14 +4,13 @@ import (
"fmt"
"os"
"os/signal"
"sync"
"time"
"github.com/sirupsen/logrus"
)
func Serve(hostport string, dir string) {
closer := make(chan bool)
var wg sync.WaitGroup
signalChan := make(chan os.Signal, 1)
signal.Notify(signalChan, os.Interrupt)
@ -22,24 +21,23 @@ func Serve(hostport string, dir string) {
close(closer)
}
}()
wg.Add(2)
req := make(chan RequestCallback, 5)
go func(dir string, closer chan bool) {
err := serveFuse(dir, closer)
err := serveFuse(dir, req, closer)
if err != nil {
logrus.Fatalf("Error serving FUSE: %s", err)
}
wg.Done()
}(dir, closer)
go func(hostport string, closer chan bool) {
err := serveHTTP(hostport, closer)
err := serveHTTP(hostport, req, closer)
if err != nil {
logrus.Fatalf("Error serving HTTP: %s", err)
}
wg.Done()
}(hostport, closer)
wg.Wait()
<-closer
time.Sleep(2 * time.Second)
}