mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-07-01 02:51:24 +02:00
reuse buffer when reading messages from websocket.
This commit is contained in:
9
relay.go
9
relay.go
@ -1,6 +1,7 @@
|
||||
package nostr
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
@ -232,16 +233,18 @@ func (r *Relay) Connect(ctx context.Context) error {
|
||||
|
||||
// general message reader loop
|
||||
go func() {
|
||||
buf := new(bytes.Buffer)
|
||||
|
||||
for {
|
||||
message, err := conn.ReadMessage(r.connectionContext)
|
||||
if err != nil {
|
||||
buf.Reset()
|
||||
if err := conn.ReadMessage(r.connectionContext, buf); err != nil {
|
||||
r.ConnectionError = err
|
||||
r.Close()
|
||||
break
|
||||
}
|
||||
|
||||
message := buf.Bytes()
|
||||
debugLogf("{%s} %v\n", r.URL, message)
|
||||
|
||||
envelope := ParseMessage(message)
|
||||
if envelope == nil {
|
||||
continue
|
||||
|
Reference in New Issue
Block a user