1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00
srs/trunk/src/kernel/srs_kernel_balance.cpp

42 lines
622 B
C++

//
// Copyright (c) 2013-2022 The SRS Authors
//
// SPDX-License-Identifier: MIT or MulanPSL-2.0
//
#include <srs_kernel_balance.hpp>
#include <srs_kernel_error.hpp>
using namespace std;
SrsLbRoundRobin::SrsLbRoundRobin()
{
index = -1;
count = 0;
}
SrsLbRoundRobin::~SrsLbRoundRobin()
{
}
uint32_t SrsLbRoundRobin::current()
{
return index;
}
string SrsLbRoundRobin::selected()
{
return elem;
}
string SrsLbRoundRobin::select(const vector<string>& servers)
{
srs_assert(!servers.empty());
index = (int)(count++ % servers.size());
elem = servers.at(index);
return elem;
}