Широковещательный атрибут
Ключевое слово [широковещательная передача] указывает, что удаленные вызовы процедур отправляются на все серверы в локальной сети.
[
interface-attribute-list
]
interface interface-name
{
[broadcast [, attribute-list]] returntype function-name(params)
}
-
interface-attribute-list
-
Указывает список из нуля или нескольких атрибутов IDL, которые применяются к интерфейсу в целом. При наличии двух или более атрибутов интерфейса они должны быть разделены запятыми.
-
имя интерфейса
-
Указывает имя интерфейса.
-
список атрибутов
-
Указывает дополнительные атрибуты, применяемые к функции. Разделяйте несколько атрибутов запятыми.
-
Returntype
-
Указывает тип возвращаемого значения функции.
-
имя функции
-
Указывает имя функции, к которой будет применяться атрибут [broadcast] .
-
params
-
Список параметров функции.
В ключевое слово [широковещательной передачи] указано, что подпрограмма всегда передается на все серверы в сети, а не на один конкретный сервер. Клиент получает выходные данные из первого ответа для успешного возврата, в то время как последующие ответы отклоняются.
Операция с атрибутом [broadcast] неявно является [идемпотентной] операцией. Однако атрибут [broadcast] указывает дополнительные свойства, которых нет в функциях с атрибутом [идемпотентный] . В частности, функции, использующие атрибут [broadcast] , указывают, что подпрограмма может вызываться несколько раз в результате одного удаленного вызова процедуры. В то же время их можно отправлять на несколько серверов. Это отличается от атрибута [idempotent] , который указывает, что вызов может быть повторен, если он не завершен.
Если удаленная процедура передает свой вызов всем узлам в локальной сети, она должна использовать ncadg_ip_udp или последовательность протоколов ncadg_ipx. Обратите внимание, что размер [широковещательного] пакета определяется используемой службой датаграмм.