Move handling of -ice option into main.

Rather than having it happen as a side effect of flag parsing.

Having it happen as a side effect of flag parsing caused log messages
related to handling the option (e.g. "IceServerList:") to always go to
stderr, despite the presence of a -log option. This is because the
requested log file had not been opened yet.
This commit is contained in:
David Fifield 2017-08-14 12:27:45 -07:00
parent 8dcd337ce4
commit 0c02af35d0
2 changed files with 11 additions and 15 deletions

View file

@ -10,6 +10,7 @@ import (
"net"
"os"
"os/signal"
"strings"
"sync"
"syscall"
"time"
@ -121,8 +122,7 @@ func copyLoop(a, b io.ReadWriter) {
}
func main() {
var iceServers IceServerList
flag.Var(&iceServers, "ice", "comma-separated list of ICE servers")
iceServersCommas := flag.String("ice", "", "comma-separated list of ICE servers")
brokerURL := flag.String("url", "", "URL of signaling broker")
frontDomain := flag.String("front", "", "front domain")
logFilename := flag.String("log", "", "name of log file")
@ -144,6 +144,15 @@ func main() {
log.Println("\n\n\n --- Starting Snowflake Client ---")
var iceServers IceServerList
log.Println("IceServerList:")
for _, server := range strings.Split(*iceServersCommas, ",") {
// TODO: STUN / TURN url format validation?
log.Println(server)
option := webrtc.OptionIceServer(server)
iceServers = append(iceServers, option)
}
// Prepare to collect remote WebRTC peers.
snowflakes := NewPeers(*max)
if "" != *brokerURL {