فهرست منبع

Improve ObservedFrameHeader (#1144)

Jaume Marhuenda 7 سال پیش
والد
کامیت
21621ec44b
3فایلهای تغییر یافته به همراه10 افزوده شده و 6 حذف شده
  1. 2 2
      conn.go
  2. 2 2
      conn_test.go
  3. 6 2
      frame.go

+ 2 - 2
conn.go

@@ -472,10 +472,10 @@ func (c *Conn) recv() error {
 
 	if c.frameObserver != nil {
 		c.frameObserver.ObserveFrameHeader(context.Background(), ObservedFrameHeader{
-			Version: byte(head.version),
+			Version: protoVersion(head.version),
 			Flags:   head.flags,
 			Stream:  int16(head.stream),
-			Opcode:  byte(head.op),
+			Opcode:  frameOp(head.op),
 			Length:  int32(head.length),
 			Start:   headStartTime,
 			End:     headEndTime,

+ 2 - 2
conn_test.go

@@ -678,11 +678,11 @@ func TestFrameHeaderObserver(t *testing.T) {
 		t.Fatalf("Expected to receive 2 frames, instead received %d", len(frames))
 	}
 	readyFrame := frames[0]
-	if readyFrame.Opcode != byte(opReady) {
+	if readyFrame.Opcode != frameOp(opReady) {
 		t.Fatalf("Expected to receive ready frame, instead received frame of opcode %d", readyFrame.Opcode)
 	}
 	voidResultFrame := frames[1]
-	if voidResultFrame.Opcode != byte(opResult) {
+	if voidResultFrame.Opcode != frameOp(opResult) {
 		t.Fatalf("Expected to receive result frame, instead received frame of opcode %d", voidResultFrame.Opcode)
 	}
 	if voidResultFrame.Length != int32(4) {

+ 6 - 2
frame.go

@@ -347,10 +347,10 @@ func (f frameHeader) Header() frameHeader {
 const defaultBufSize = 128
 
 type ObservedFrameHeader struct {
-	Version byte
+	Version protoVersion
 	Flags   byte
 	Stream  int16
-	Opcode  byte
+	Opcode  frameOp
 	Length  int32
 
 	// StartHeader is the time we started reading the frame header off the network connection.
@@ -359,6 +359,10 @@ type ObservedFrameHeader struct {
 	End time.Time
 }
 
+func (f ObservedFrameHeader) String() string {
+	return fmt.Sprintf("[observed header version=%s flags=0x%x stream=%d op=%s length=%d]", f.Version, f.Flags, f.Stream, f.Opcode, f.Length)
+}
+
 // FrameHeaderObserver is the interface implemented by frame observers / stat collectors.
 //
 // Experimental, this interface and use may change