atributo de difusão
O palavra-chave [difusão] especifica que chamadas de procedimento remoto sejam enviadas para todos os servidores em uma rede local.
[
interface-attribute-list
]
interface interface-name
{
[broadcast [, attribute-list]] returntype function-name(params)
}
-
interface-attribute-list
-
Especifica uma lista de zero ou mais atributos IDL que se aplicam à interface como um todo. Quando dois ou mais atributos de interface estão presentes, eles devem ser separados por vírgulas.
-
nome da interface
-
Especifica o nome da interface.
-
attribute-list
-
Especifica atributos adicionais a serem aplicados à função . Separe vários atributos com vírgulas.
-
Returntype
-
Especifica o tipo de retorno da função.
-
nome da função
-
Especifica o nome da função à qual o atributo [broadcast] será aplicado.
-
params
-
Lista de parâmetros de função.
O palavra-chave [difusão] especifica que a rotina sempre é transmitida para todos os servidores da rede, em vez de ser entregue a um servidor específico. O cliente recebe a saída da primeira resposta para retornar com êxito, enquanto as respostas subsequentes são descartadas.
Uma operação com o atributo [broadcast] é implicitamente uma operação [idempotente] . No entanto, o atributo [broadcast] especifica propriedades adicionais que as funções com o atributo [idempotent] não têm. Especificamente, as funções que usam o atributo [broadcast] especificam que a rotina pode ser chamada várias vezes como resultado de uma chamada de procedimento remoto. Ao mesmo tempo, eles podem ser enviados para vários servidores. Isso é diferente do atributo [idempotente] , que especifica apenas que uma chamada pode ser repetida se não for concluída.
Se um procedimento remoto transmitir sua chamada para todos os hosts em uma rede local, ele deverá usar o ncadg_ip_udp ou a sequência de protocolo ncadg_ipx . Observe que o tamanho de um pacote [difusão] é determinado pelo serviço de datagram em uso.