Site Logo

Send

Группа: Отправка сообщений

Платформы: t0500, t0700, t1000

Синтаксис

Send
  01 : <Address> ; В каком порядке и кому будет направлено сообщение
    Protocol.Message1 : 1 ; Сообщение
      [Param1 : <значение>
       ...]
    [Контроль результата]
  [02 : <Address>
    Protocol.Message2 : 1
      [Param1 : <значение>
       ...]
    [Контроль результата]
    ...]
Сокращенная форма конструкции используется в случае, когда необходимо отправить сообщение только одному получателю:
Send : <Address>
  Protocol.Message1 : 1 ; Сообщение
    [Param1 : <значение>
    ...]
  [Контроль результата]

Описание

Конструкция Send используется для описания отправки сообщений. Сообщения будут помещены в очередь обработки в порядке следования индексов в списке. Конструкция имеется в полном и сокращенном синтаксисе. Сокращенная форма конструкции используется в случае, когда необходимо отправить сообщение только одному получателю. Контроль результата - опциональная секция Receive, описывающая анализ ответного сообщения и позволяющая задать необходимое решение.

  • Агент может отправлять сообщения самому себе. Для этого ему следует использовать свой собственный адрес (<Self>) при описании отправок.
  • Если самому себе надо отправить одно сообщение, то следует использовать другую конструкцию Raise.

Примеры

Пример №1

Send
  10: <LogManager>
    Kernel.LogManager.LogEvent : 1
      MachineState  : "WaitForCard"
      Message       : "Произошла ошибка в модуле бесконтакного считывателя
      Source        : "Uniteller.Service.Logic.CardReader"
  20: <Self>
    Kernel.TimeOut : 1

Результат:

Будет отправлено два сообщения - одно (LogEvent) модулю с адресом <LogManager>, другое будет отправлено агентом самому себе (TimeOut).

Пример №2

Send : <LogManager>
  Kernel.LogManager.LogEvent : 1
    MachineState  : "Init"
    Message       : "Начало инициализации контактного считывателя.
    Source        : "Uniteller.Service.Logic.CardReader"

Пример №3

Send : <Dictionary>
  Dictionary.GetValue : 1
    Key : "95"
  Receive
    01 : *
      Dictionary.GetValueAnswer : 1
        Exists : True
      Raise
        Kernel.Start : 1
    02 : *
      Dictionary.GetValueAnswer : 1
      Raise
        Kernel.Stop : 1

if ((parseInt($(window).height())*2)>(parseInt($(document).height()))) { $('#back-to-top').hide(); } }); })(jQuery);