BindLoadBalancerToTCPServer: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Создана пустая страница)
 
Строка 1: Строка 1:
 
{{function_begin |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;|{{BindLoadBalancerToTCPServer brief}}}}
{{function_paramlist begin}}
{{function_paramlist add|pServerAddress|Строка с адресом создаваемого TCP сервера. Длина строки задается параметром <tt>cbServerAddress</tt>.|paramdir=[in]}}
{{function_paramlist add|cbServerAddress|Длина строки <tt>pServerAddress</tt> в байтах.}}
{{function_paramlist add|nServerPort|Порт, который должен прослушиваться создаваемым сервером.}}
{{function_paramlist add|pCtrl|Указатель на экземпляр [[Подсистема управления|подсистемы управления]], для которой создается TCP сервер.}}
{{function_paramlist add|pAggregatee|Балансировщик нагрузки, который агрегируется TCP сервером. Сервер вызывает методы интерфейса [[ILoadBalancer]] в соответствии с [[LoadBalancerRequests|поступающими запросами]] {{mark|text= - кроме методов [[INode::IsInterfaceAvailable]], [[INode::RepresentAs]], а также собственных методов интерфейса [[ITCPNode]]}}.|paramdir=[in]}}
{{function_paramlist add|fOwnAggregatee|Флаг передачи владения экземпляром <tt>pAggregatee</tt> создаваемому серверу. Если флаг сброшен, а также если функция завершается с ошибкой, вызывающий ответственнен за закрытие экземпляра <tt>pAggregatee</tt>.|paramdir=[in]}}
{{function_paramlist add|ppAggregate|Созданный экземпляр TCP-сервера с интерфейсом [[INode]]. Также экземпляр поддерживает интерфейс [[ITCPNode]], доступ к которому может быть получен путем вызова функции [[INode::RepresentAs]]. В случае ошибки выходное значение указателя <tt>pAggregate</tt> устанавливается в <source lang="cpp" inline>nullptr</source>.|paramdir=[out]}}
{{function_paramlist end}}
{{function_return_value|32-битовый целый код ошибки, который неотрицателен при успешности операции.}}
{{function_end}}

Версия 19:20, 18 декабря 2017

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-битовый целый код ошибки, который неотрицателен при успешности операции.