/*
* Copyright ( c ) 2021 The WebRTC project authors . All Rights Reserved .
*
* Use of this source code is governed by a BSD - style license
* that can be found in the LICENSE file in the root of the source
* tree . An additional intellectual property rights grant can be found
* in the file PATENTS . All contributing project authors may
* be found in the AUTHORS file in the root of the source tree .
*/
#ifndef NET_DCSCTP_SOCKET_MOCK_CONTEXT_H_
#define NET_DCSCTP_SOCKET_MOCK_CONTEXT_H_
#include "absl/strings/string_view.h"
#include "api/units/time_delta.h"
#include "net/dcsctp/common/internal_types.h"
#include "net/dcsctp/packet/sctp_packet.h"
#include "net/dcsctp/public/dcsctp_options.h"
#include "net/dcsctp/public/dcsctp_socket.h"
#include "net/dcsctp/socket/context.h"
#include "net/dcsctp/socket/mock_dcsctp_socket_callbacks.h"
#include "test/gmock.h"
namespace dcsctp {
class MockContext : public Context {
public :
static constexpr TSN MyInitialTsn() { return TSN(990 ); }
static constexpr TSN PeerInitialTsn() { return TSN(10 ); }
static constexpr VerificationTag PeerVerificationTag() {
return VerificationTag(0 x01234567);
}
explicit MockContext(MockDcSctpSocketCallbacks* callbacks)
: callbacks_(*callbacks) {
ON_CALL(*this , is_connection_established)
.WillByDefault(testing::Return (true ));
ON_CALL(*this , my_initial_tsn)
.WillByDefault(testing::Return (MyInitialTsn()));
ON_CALL(*this , peer_initial_tsn)
.WillByDefault(testing::Return (PeerInitialTsn()));
ON_CALL(*this , callbacks).WillByDefault(testing::ReturnRef(callbacks_));
ON_CALL(*this , current_rto)
.WillByDefault(testing::Return (webrtc::TimeDelta::Millis(123 )));
ON_CALL(*this , Send).WillByDefault([this ](SctpPacket::Builder& builder) {
callbacks_.SendPacketWithStatus(builder.Build());
});
}
MOCK_METHOD(bool , is_connection_established, (), (const , override));
MOCK_METHOD(TSN, my_initial_tsn, (), (const , override));
MOCK_METHOD(TSN, peer_initial_tsn, (), (const , override));
MOCK_METHOD(DcSctpSocketCallbacks&, callbacks, (), (const , override));
MOCK_METHOD(void , ObserveRTT, (webrtc::TimeDelta rtt), (override));
MOCK_METHOD(webrtc::TimeDelta, current_rto, (), (const , override));
MOCK_METHOD(bool ,
IncrementTxErrorCounter,
(absl::string_view reason),
(override));
MOCK_METHOD(void , ClearTxErrorCounter, (), (override));
MOCK_METHOD(bool , HasTooManyTxErrors, (), (const , override));
SctpPacket::Builder PacketBuilder() const override {
return SctpPacket::Builder(PeerVerificationTag(), options_);
}
MOCK_METHOD(void , Send, (SctpPacket::Builder & builder), (override));
DcSctpOptions options_;
MockDcSctpSocketCallbacks& callbacks_;
};
} // namespace dcsctp
#endif // NET_DCSCTP_SOCKET_MOCK_CONTEXT_H_
Messung V0.5 in Prozent C=96 H=100 G=97
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-09-30)
¤
*© Formatika GbR, Deutschland