forked from quic-go/quic-go
replace the logging.Export() method by a Close() method
This commit is contained in:
11
qlog/qlog.go
11
qlog/qlog.go
@@ -4,6 +4,7 @@ import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"net"
|
||||
"sync"
|
||||
"time"
|
||||
@@ -90,8 +91,14 @@ func (t *tracer) run() {
|
||||
}
|
||||
}
|
||||
|
||||
// Export writes a qlog.
|
||||
func (t *tracer) Export() error {
|
||||
func (t *tracer) Close() {
|
||||
if err := t.export(); err != nil {
|
||||
log.Printf("exporting qlog failed: %s\n", err)
|
||||
}
|
||||
}
|
||||
|
||||
// export writes a qlog.
|
||||
func (t *tracer) export() error {
|
||||
close(t.events)
|
||||
<-t.runStopped
|
||||
if t.encodeErr != nil {
|
||||
|
||||
@@ -5,7 +5,9 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"io"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/lucas-clemente/quic-go/internal/congestion"
|
||||
@@ -63,7 +65,7 @@ var _ = Describe("Tracer", func() {
|
||||
})
|
||||
|
||||
It("exports a trace that has the right metadata", func() {
|
||||
Expect(tracer.Export()).To(Succeed())
|
||||
tracer.Close()
|
||||
|
||||
m := make(map[string]interface{})
|
||||
Expect(json.Unmarshal(buf.Bytes(), &m)).To(Succeed())
|
||||
@@ -98,12 +100,17 @@ var _ = Describe("Tracer", func() {
|
||||
for i := uint32(0); i < 1000; i++ {
|
||||
tracer.UpdatedPTOCount(i)
|
||||
}
|
||||
Expect(tracer.Export()).To(MatchError("writer full"))
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
log.SetOutput(buf)
|
||||
defer log.SetOutput(os.Stdout)
|
||||
tracer.Close()
|
||||
Expect(buf.String()).To(ContainSubstring("writer full"))
|
||||
})
|
||||
|
||||
Context("Events", func() {
|
||||
exportAndParse := func() []entry {
|
||||
Expect(tracer.Export()).To(Succeed())
|
||||
tracer.Close()
|
||||
|
||||
m := make(map[string]interface{})
|
||||
Expect(json.Unmarshal(buf.Bytes(), &m)).To(Succeed())
|
||||
|
||||
Reference in New Issue
Block a user