|
@@ -600,7 +600,7 @@ void SctpTransport::processNotification(const union sctp_notification *notify, s
|
|
|
}
|
|
|
|
|
|
auto type = notify->sn_header.sn_type;
|
|
|
- PLOG_VERBOSE << "Process notification, type=" << type;
|
|
|
+ PLOG_VERBOSE << "Processing notification, type=" << type;
|
|
|
|
|
|
switch (type) {
|
|
|
case SCTP_ASSOC_CHANGE: {
|
|
@@ -622,6 +622,7 @@ void SctpTransport::processNotification(const union sctp_notification *notify, s
|
|
|
}
|
|
|
|
|
|
case SCTP_SENDER_DRY_EVENT: {
|
|
|
+ PLOG_VERBOSE << "SCTP dry event";
|
|
|
// It not should be necessary since the send callback should have been called already,
|
|
|
// but to be sure, let's try to send now.
|
|
|
safeFlush();
|
|
@@ -633,6 +634,28 @@ void SctpTransport::processNotification(const union sctp_notification *notify, s
|
|
|
const int count = (reset_event.strreset_length - sizeof(reset_event)) / sizeof(uint16_t);
|
|
|
const uint16_t flags = reset_event.strreset_flags;
|
|
|
|
|
|
+ IF_PLOG(plog::verbose) {
|
|
|
+ std::ostringstream desc;
|
|
|
+ desc << "flags=";
|
|
|
+ if (flags & SCTP_STREAM_RESET_OUTGOING_SSN && flags & SCTP_STREAM_RESET_INCOMING_SSN)
|
|
|
+ desc << "outgoing|incoming";
|
|
|
+ else if (flags & SCTP_STREAM_RESET_OUTGOING_SSN)
|
|
|
+ desc << "outgoing";
|
|
|
+ else if (flags & SCTP_STREAM_RESET_INCOMING_SSN)
|
|
|
+ desc << "incoming";
|
|
|
+ else
|
|
|
+ desc << "0";
|
|
|
+
|
|
|
+ desc << ", streams=[";
|
|
|
+ for (int i = 0; i < count; ++i) {
|
|
|
+ uint16_t streamId = reset_event.strreset_stream_list[i];
|
|
|
+ desc << (i != 0 ? "," : "") << streamId;
|
|
|
+ }
|
|
|
+ desc << "]";
|
|
|
+
|
|
|
+ PLOG_VERBOSE << "SCTP reset event, " << desc.str();
|
|
|
+ }
|
|
|
+
|
|
|
if (flags & SCTP_STREAM_RESET_OUTGOING_SSN) {
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
uint16_t streamId = reset_event.strreset_stream_list[i];
|