From 5dc1662968c2718f0b33ddb0741ee1f7367975e7 Mon Sep 17 00:00:00 2001 From: matst80 Date: Sat, 9 Nov 2024 23:04:45 +0100 Subject: [PATCH] dont negotiate with everyone all the time --- synced-pool.go | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/synced-pool.go b/synced-pool.go index 0e019b6..352ceb0 100644 --- a/synced-pool.go +++ b/synced-pool.go @@ -94,30 +94,10 @@ func NewSyncedPool(local *GrainLocalPool, hostname string, d Discovery) (*Synced log.Printf("Error adding remote %s: %v", h, err) } } - otherHosts, err := pool.Negotiate(hosts) - if err != nil { - log.Printf("Error negotiating: %v\n", err) - } - for _, h := range otherHosts { - if h == hostname { - continue - } - found := false - for _, r := range pool.remotes { - if r.Host == h { - found = true - } - } - if found { - continue - } - err := pool.AddRemote(h) - if err != nil { - log.Printf("Error adding undiscovered remote %s: %v\n", h, err) - } - } - }(time.NewTicker(time.Second * 10)) + }(time.NewTicker(time.Second * 5)) + } else { + log.Printf("No discovery, waiting for remotes to connect") } go func() { for { @@ -207,6 +187,7 @@ func NewPacketQueue(connection net.Conn) *PacketQueue { go func() { for { messageType, data, err := ReceivePacket(queue.connection) + ts := time.Now() if err != nil { log.Printf("Error receiving packet: %v\n", err) if err == io.EOF { @@ -226,7 +207,7 @@ func NewPacketQueue(connection net.Conn) *PacketQueue { } queue.Packets = append(queue.Packets, PacketWithData{ MessageType: messageType, - Added: time.Now(), + Added: ts, Data: data, }) queue.mu.Unlock() @@ -236,7 +217,7 @@ func NewPacketQueue(connection net.Conn) *PacketQueue { } func (p *PacketQueue) Expect(messageType uint16, timeToWait time.Duration) (*PacketWithData, error) { - start := time.Now() + start := time.Now().Add(-time.Millisecond) for { if time.Since(start) > timeToWait {