reflector.go/main.go
2017-08-10 18:25:42 -04:00

64 lines
1.1 KiB
Go

package main
import (
"flag"
"log"
"math/rand"
"time"
)
func checkErr(err error) {
if err != nil {
panic(err)
}
}
func main() {
var err error
rand.Seed(time.Now().UnixNano())
address := "localhost:5566"
serve := flag.Bool("server", false, "Run server")
blobDir := flag.String("blobdir", "", "Where blobs will be saved to")
flag.Parse()
if serve != nil && *serve {
if blobDir == nil || *blobDir == "" {
log.Fatal("-blobdir required")
}
server := NewServer(*blobDir)
log.Fatal(server.ListenAndServe(address))
return
}
client := Client{}
log.Println("Connecting to " + address)
err = client.Connect(address)
checkErr(err)
log.Println("Connected")
defer func() {
log.Println("Closing connection")
client.Close()
}()
blob := make([]byte, 2*1024*1024)
_, err = rand.Read(blob)
checkErr(err)
err = client.SendBlob(blob)
checkErr(err)
blob = make([]byte, 2*1024*1024)
_, err = rand.Read(blob)
checkErr(err)
err = client.SendBlob(blob)
checkErr(err)
blob = make([]byte, 2*1024*1024)
_, err = rand.Read(blob)
checkErr(err)
err = client.SendBlob(blob)
checkErr(err)
}