refactor-for-testability #3
| @@ -16,6 +16,14 @@ type controlMsg[T any] struct { | ||||
| func parseControlMsg(srcIP byte, srcAddr netip.AddrPort, buf []byte) (any, error) { | ||||
| 	switch buf[0] { | ||||
|  | ||||
| 	case packetTypeInit: | ||||
| 		packet, err := parsePacketInit(buf) | ||||
| 		return controlMsg[packetInit]{ | ||||
| 			SrcIP:   srcIP, | ||||
| 			SrcAddr: srcAddr, | ||||
| 			Packet:  packet, | ||||
| 		}, err | ||||
|  | ||||
| 	case packetTypeSyn: | ||||
| 		packet, err := parsePacketSyn(buf) | ||||
| 		return controlMsg[packetSyn]{ | ||||
| @@ -40,14 +48,6 @@ func parseControlMsg(srcIP byte, srcAddr netip.AddrPort, buf []byte) (any, error | ||||
| 			Packet:  packet, | ||||
| 		}, err | ||||
|  | ||||
| 	case packetTypeInit: | ||||
| 		packet, err := parsePacketInit(buf) | ||||
| 		return controlMsg[packetInit]{ | ||||
| 			SrcIP:   srcIP, | ||||
| 			SrcAddr: srcAddr, | ||||
| 			Packet:  packet, | ||||
| 		}, err | ||||
|  | ||||
| 	default: | ||||
| 		return nil, errUnknownPacketType | ||||
| 	} | ||||
|   | ||||
| @@ -128,7 +128,7 @@ func (s *stateClient) onProbe(msg controlMsg[packetProbe]) peerState { | ||||
| 	s.syn.TraceID = newTraceID() | ||||
| 	s.syn.Direct = true | ||||
| 	s.Send(s.staged, s.syn) | ||||
| 	s.logf("Successful probe.") | ||||
| 	s.logf("Successful probe to %v.", sent.Addr) | ||||
| 	return s | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -9,13 +9,6 @@ func addrPort4(a, b, c, d byte, port uint16) netip.AddrPort { | ||||
| 	return netip.AddrPortFrom(netip.AddrFrom4([4]byte{a, b, c, d}), port) | ||||
| } | ||||
|  | ||||
| func assertNil(t *testing.T, err error) { | ||||
| 	t.Helper() | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func assertType[T any](t *testing.T, obj any) T { | ||||
| 	t.Helper() | ||||
| 	x, ok := obj.(T) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user