From bdb8bf3ac439ddda36d6b23812831062c90d5a3b Mon Sep 17 00:00:00 2001 From: Zack Scholl Date: Mon, 11 Nov 2019 11:26:12 -0800 Subject: [PATCH] addresing CPU usage #168 --- go.sum | 2 -- src/croc/croc.go | 16 +++++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/go.sum b/go.sum index 2dccc0eb..ce9825ad 100644 --- a/go.sum +++ b/go.sum @@ -83,8 +83,6 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191002091554-b397fe3ad8ed h1:5TJcLJn2a55mJjzYk0yOoqN8X1OdvBDUnaZaKKyQtkY= -golang.org/x/sys v0.0.0-20191002091554-b397fe3ad8ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191023151326-f89234f9a2c2 h1:I7efaDQAsIQmkTF+WSdcydwVWzK07Yuz8IFF8rNkDe0= golang.org/x/sys v0.0.0-20191023151326-f89234f9a2c2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= diff --git a/src/croc/croc.go b/src/croc/croc.go index ac3356a5..4cb3a8f2 100644 --- a/src/croc/croc.go +++ b/src/croc/croc.go @@ -264,8 +264,8 @@ func (c *Client) broadcastOnLocalNetwork() { }) log.Debugf("discoveries: %+v", discoveries) - if err == nil && len(discoveries) > 0 { - log.Debug("using local server") + if err != nil { + log.Debug(err.Error()) } } @@ -339,7 +339,10 @@ func (c *Client) Send(options TransferOptions) (err error) { } log.Debugf("connection established: %+v", conn) for { - data, _ := conn.Receive() + data, errConn := conn.Receive() + if errConn != nil { + log.Debugf("[%+v] had error: %s", conn, errConn.Error()) + } if bytes.Equal(data, []byte("ips?")) { // recipient wants to try to connect to local ips var ips []string @@ -355,9 +358,12 @@ func (c *Client) Send(options TransferOptions) (err error) { } bips, _ := json.Marshal(ips) conn.Send(bips) - } - if bytes.Equal(data, []byte("handshake")) { + } else if bytes.Equal(data, []byte("handshake")) { break + } else { + log.Debugf("[%+v] got weird bytes: %+v", conn, data) + // throttle the reading + time.Sleep(100 * time.Millisecond) } }