BindLoadBalancerToTCPServer

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
return_code_t PLATFORM_NATIVE_CALLING_CONVENTION BindLoadBalancerToTCPServer(
    const char* pServerAddress, std::size_t cbServerAddress, std::uint16_t nServerPort, 
    IControlSystemDomainSide* pCtrl, ILoadBalancer* pAggregatee, const char* pDomainName, std::size_t cbDomainName, 
    ILoadBalancer** ppAggregate) noexcept;

Задает привязку балансировщика нагрузки, с передачей владения, с интерфейсом ILoadBalancer к TCP серверу для обработки им запросов LoadBalancerRequests путем вызова соответствующих методов ILoadBalancer.

Параметры
[in]pServerAddressСтрока с адресом создаваемого TCP сервера. Длина строки задается параметром cbServerAddress.
cbServerAddressДлина строки pServerAddress в байтах.
nServerPortПорт, который должен прослушиваться создаваемым сервером.
pCtrlУказатель на экземпляр подсистемы управления, для которой создается TCP сервер.
[in]pAggregateeБалансировщик нагрузки, который агрегируется TCP сервером. Сервер вызывает методы интерфейса ILoadBalancer в соответствии с поступающими запросами - кроме методов INode::IsInterfaceAvailable, INode::RepresentAs, а также собственных методов интерфейса ITCPNode.
[in]fOwnAggregateeФлаг передачи владения экземпляром pAggregatee создаваемому серверу. Если флаг сброшен, а также если функция завершается с ошибкой, вызывающий ответственнен за закрытие экземпляра pAggregatee.
[out]ppAggregateСозданный экземпляр TCP-сервера с интерфейсом INode. Также экземпляр поддерживает интерфейс ITCPNode, доступ к которому может быть получен путем вызова функции INode::RepresentAs. В случае ошибки выходное значение указателя pAggregate устанавливается в nullptr.
Возвращаемое значение:
32-битовый целый код ошибки, который неотрицателен при успешности операции.