Skip to content

Commit 92044d7

Browse files
authored
Refactor switch cases and improve string formatting (#1659)
* Refactor switch cases and improve string formatting Refactored switch-case statements in RTCPFeedback.cs to use the Header property directly for pattern matching, enhancing clarity. Updated exception message in RTCPHeader.cs to use string interpolation. Simplified ToString() in RTCPTWCCFeedback.cs to use a single interpolated string for better readability. * Refactor switch pattern variable in RTCPFeedback.cs Renamed the pattern variable in switch cases from '_' to 'h' to improve readability and allow direct access to the matched object. No logic changes were made. * Refactor switch case to use pattern matching for RTPFB Updated the switch statement to use pattern matching (case var h when h.PacketType == RTCPReportTypesEnum.RTPFB), enabling access to the matched variable within the case block for improved clarity and maintainability.
1 parent 8d51fc2 commit 92044d7

3 files changed

Lines changed: 10 additions & 12 deletions

File tree

src/SIPSorcery/net/RTCP/RTCPFeedback.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,23 +172,23 @@ public RTCPFeedback(byte[] packet)
172172

173173
switch (Header)
174174
{
175-
case var x when x.PacketType == RTCPReportTypesEnum.RTPFB && x.FeedbackMessageType == RTCPFeedbackTypesEnum.RTCP_SR_REQ:
175+
case var h when h.PacketType == RTCPReportTypesEnum.RTPFB && h.FeedbackMessageType == RTCPFeedbackTypesEnum.RTCP_SR_REQ:
176176
SENDER_PAYLOAD_SIZE = 8;
177177
// PLI feedback reports do no have any additional parameters.
178178
break;
179-
case var x when x.PacketType == RTCPReportTypesEnum.RTPFB:
179+
case var h when h.PacketType == RTCPReportTypesEnum.RTPFB:
180180
SENDER_PAYLOAD_SIZE = 12;
181181
PID = BinaryPrimitives.ReadUInt16BigEndian(packet.AsSpan(payloadIndex + 8));
182182
BLP = BinaryPrimitives.ReadUInt16BigEndian(packet.AsSpan(payloadIndex + 10));
183183
break;
184184

185-
case var x when x.PacketType == RTCPReportTypesEnum.PSFB && x.PayloadFeedbackMessageType == PSFBFeedbackTypesEnum.PLI:
185+
case var h when h.PacketType == RTCPReportTypesEnum.PSFB && h.PayloadFeedbackMessageType == PSFBFeedbackTypesEnum.PLI:
186186
SENDER_PAYLOAD_SIZE = 8;
187187
break;
188188

189189
// We have a lot of different kind of extension messages
190190
// In case below we will handle the specific REMB Message https://datatracker.ietf.org/doc/html/draft-alvestrand-rmcat-remb-03#page-3
191-
case var x when x.PacketType == RTCPReportTypesEnum.PSFB && x.PayloadFeedbackMessageType == PSFBFeedbackTypesEnum.AFB:
191+
case var h when h.PacketType == RTCPReportTypesEnum.PSFB && h.PayloadFeedbackMessageType == PSFBFeedbackTypesEnum.AFB:
192192

193193
// 0 1 2 3
194194
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
@@ -267,17 +267,17 @@ public byte[] GetBytes()
267267

268268
switch (Header)
269269
{
270-
case var x when x.PacketType == RTCPReportTypesEnum.RTPFB && x.FeedbackMessageType == RTCPFeedbackTypesEnum.RTCP_SR_REQ:
270+
case var h when h.PacketType == RTCPReportTypesEnum.RTPFB && h.FeedbackMessageType == RTCPFeedbackTypesEnum.RTCP_SR_REQ:
271271
// PLI feedback reports do no have any additional parameters.
272272
break;
273-
case var x when x.PacketType == RTCPReportTypesEnum.RTPFB:
273+
case var h when h.PacketType == RTCPReportTypesEnum.RTPFB:
274274
BinaryPrimitives.WriteUInt16BigEndian(buffer.AsSpan(payloadIndex + 8), PID);
275275
BinaryPrimitives.WriteUInt16BigEndian(buffer.AsSpan(payloadIndex + 10), BLP);
276276
break;
277277

278-
case var x when x.PacketType == RTCPReportTypesEnum.PSFB && x.PayloadFeedbackMessageType == PSFBFeedbackTypesEnum.PLI:
278+
case var h when h.PacketType == RTCPReportTypesEnum.PSFB && h.PayloadFeedbackMessageType == PSFBFeedbackTypesEnum.PLI:
279279
break;
280-
case var x when x.PacketType == RTCPReportTypesEnum.PSFB && x.PayloadFeedbackMessageType == PSFBFeedbackTypesEnum.AFB:
280+
case var h when h.PacketType == RTCPReportTypesEnum.PSFB && h.PayloadFeedbackMessageType == PSFBFeedbackTypesEnum.AFB:
281281

282282
// There's have a lot of different kind of extension messages
283283
// In case below we will handle the specific REMB Message https://datatracker.ietf.org/doc/html/draft-alvestrand-rmcat-remb-03#page-3

src/SIPSorcery/net/RTCP/RTCPHeader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ public byte[] GetHeader(int receptionReportCount, UInt16 length)
177177
{
178178
if (receptionReportCount > MAX_RECEPTIONREPORT_COUNT)
179179
{
180-
throw new ApplicationException("The Reception Report Count value cannot be larger than " + MAX_RECEPTIONREPORT_COUNT + ".");
180+
throw new ApplicationException($"The Reception Report Count value cannot be larger than {MAX_RECEPTIONREPORT_COUNT}.");
181181
}
182182

183183
ReceptionReportCount = receptionReportCount;

src/SIPSorcery/net/RTCP/RTCPTWCCFeedback.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -524,9 +524,7 @@ public override string ToString()
524524
var packetStatusInfo = string.Join(", ", PacketStatuses.Select(ps =>
525525
$"Seq:{ps.SequenceNumber}({ps.Status}{(ps.Delta.HasValue ? $",Δ:{ps.Delta.Value}" : "")})"));
526526

527-
return $"TWCC Feedback: SenderSSRC={SenderSSRC}, MediaSSRC={MediaSSRC}, BaseSeq={BaseSequenceNumber}, " +
528-
$"StatusCount={PacketStatusCount}, RefTime={ReferenceTime} (1/64 sec), " +
529-
$"FbkPktCount={FeedbackPacketCount}, PacketStatuses=[{packetStatusInfo}]";
527+
return $"TWCC Feedback: SenderSSRC={SenderSSRC}, MediaSSRC={MediaSSRC}, BaseSeq={BaseSequenceNumber}, StatusCount={PacketStatusCount}, RefTime={ReferenceTime} (1/64 sec), FbkPktCount={FeedbackPacketCount}, PacketStatuses=[{packetStatusInfo}]";
530528
}
531529

532530
#region Helper Methods

0 commit comments

Comments
 (0)