diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2018-05-14 02:50:55 -0400 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-05-14 02:50:55 -0400 |
commit | aba6a1dc871edbc6cbb286a350a4ba79ca645fb8 (patch) | |
tree | ecd6347c2374a36a6524782f985975c7c315068b /main.go | |
parent | 1a80bcb250c81a8959b8af816f499c22bca0db51 (diff) |
readFileSync is working
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 31 |
1 files changed, 28 insertions, 3 deletions
@@ -3,12 +3,37 @@ package main import ( "github.com/golang/protobuf/proto" "github.com/ry/v8worker2" + "io/ioutil" "os" ) -func recv(msg []byte) []byte { - println("recv cb", string(msg)) - return nil +func ReadFileSync(filename string) []byte { + buf, err := ioutil.ReadFile(filename) + msg := &Msg{Kind: Msg_DATA_RESPONSE} + if err != nil { + msg.Error = err.Error() + } else { + msg.Data = buf + } + out, err := proto.Marshal(msg) + if err != nil { + panic(err) + } + return out +} + +func recv(buf []byte) []byte { + msg := &Msg{} + err := proto.Unmarshal(buf, msg) + if err != nil { + panic(err) + } + switch msg.Kind { + case Msg_READ_FILE_SYNC: + return ReadFileSync(msg.Path) + default: + panic("Unexpected message") + } } func loadAsset(w *v8worker2.Worker, path string) { |