mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Refactor: Use compositor for ISrsKbpsDelta. v5.0.51
This commit is contained in:
parent
29ae29c693
commit
1630918b0f
24 changed files with 225 additions and 213 deletions
|
@ -6225,37 +6225,18 @@ VOID TEST(ProtocolKbpsTest, Connections)
|
|||
|
||||
VOID TEST(ProtocolKbpsTest, Delta)
|
||||
{
|
||||
if (true) {
|
||||
SrsEphemeralDelta ed;
|
||||
|
||||
ISrsKbpsDelta* delta = (ISrsKbpsDelta*)&ed;
|
||||
int64_t in, out;
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(0, in);
|
||||
EXPECT_EQ(0, out);
|
||||
|
||||
ed.add_delta(100 * 1000, 100 * 1000);
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(100 * 1000, in);
|
||||
EXPECT_EQ(100 * 1000, out);
|
||||
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(0, in);
|
||||
EXPECT_EQ(0, out);
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockWallClock* clock = new MockWallClock();
|
||||
SrsAutoFree(MockWallClock, clock);
|
||||
MockStatistic* io = new MockStatistic();
|
||||
SrsAutoFree(MockStatistic, io);
|
||||
|
||||
SrsKbps* conn = new SrsKbps(clock->set_clock(0));
|
||||
SrsAutoFree(SrsKbps, conn);
|
||||
SrsNetworkDelta* conn = new SrsNetworkDelta();
|
||||
SrsAutoFree(SrsNetworkDelta, conn);
|
||||
conn->set_io(io, io);
|
||||
|
||||
// No data.
|
||||
ISrsKbpsDelta* delta = (ISrsKbpsDelta*)conn;
|
||||
ISrsKbpsDelta* delta = dynamic_cast<ISrsKbpsDelta*>(conn);
|
||||
int64_t in, out;
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(0, in);
|
||||
|
@ -6278,13 +6259,13 @@ VOID TEST(ProtocolKbpsTest, Delta)
|
|||
SrsAutoFree(MockWallClock, clock);
|
||||
MockStatistic* io = new MockStatistic();
|
||||
SrsAutoFree(MockStatistic, io);
|
||||
|
||||
SrsKbps* conn = new SrsKbps(clock->set_clock(0));
|
||||
SrsAutoFree(SrsKbps, conn);
|
||||
|
||||
SrsNetworkDelta* conn = new SrsNetworkDelta();
|
||||
SrsAutoFree(SrsNetworkDelta, conn);
|
||||
conn->set_io(io, io);
|
||||
|
||||
// No data.
|
||||
ISrsKbpsDelta* delta = (ISrsKbpsDelta*)conn;
|
||||
ISrsKbpsDelta* delta = dynamic_cast<ISrsKbpsDelta*>(conn);
|
||||
int64_t in, out;
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(0, in);
|
||||
|
@ -6724,3 +6705,51 @@ VOID TEST(ProtocolProtobufTest, FieldKey)
|
|||
}
|
||||
}
|
||||
|
||||
VOID TEST(ProtocolKbpsTest, NewDelta)
|
||||
{
|
||||
if (true) {
|
||||
SrsEphemeralDelta ed;
|
||||
|
||||
ISrsKbpsDelta* delta = (ISrsKbpsDelta*)&ed;
|
||||
int64_t in, out;
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(0, in);
|
||||
EXPECT_EQ(0, out);
|
||||
|
||||
ed.add_delta(100 * 1000, 100 * 1000);
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(100 * 1000, in);
|
||||
EXPECT_EQ(100 * 1000, out);
|
||||
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(0, in);
|
||||
EXPECT_EQ(0, out);
|
||||
}
|
||||
|
||||
if (true) {
|
||||
SrsNetworkDelta nd;
|
||||
|
||||
ISrsKbpsDelta* delta = (ISrsKbpsDelta*)&nd;
|
||||
int64_t in, out;
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(0, in);
|
||||
EXPECT_EQ(0, out);
|
||||
|
||||
MockStatistic ms;
|
||||
ms.set_in(100 * 1000)->set_out(100*1000);
|
||||
nd.set_io(&ms, &ms);
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(100 * 1000, in);
|
||||
EXPECT_EQ(100 * 1000, out);
|
||||
|
||||
ms.add_in(10 * 1000)->add_out(10 * 1000);
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(10 * 1000, in);
|
||||
EXPECT_EQ(10 * 1000, out);
|
||||
|
||||
delta->remark(&in, &out);
|
||||
EXPECT_EQ(0, in);
|
||||
EXPECT_EQ(0, out);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue