1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-24 06:54:22 +00:00
srs/trunk/src/kernel/srs_kernel_balance.cpp

43 lines
622 B
C++
Raw Normal View History

//
2022-06-20 11:22:25 +00:00
// 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;
}