Site Logo

ReceiveAsync

Группа: Основные конструкции

Платформы: t0241

Синтаксис

## : ReceiveAsync : <mode>[, timeout] ; где <mode> - режим работы (см. режимы ниже)
  ## : <unit1> ; alias модуля-отправителя сообщения № 1
    <сообщение> : <Поколение сообщения> ; ожидаемое сообщение № 1
      [<Параметр> : <Значение>] ; параметры ожидаемого сообщения № 1
      ...
  ...
  ## : <unitN> ; alias модуля-отправителя сообщения № N
    <сообщение> : <Поколение сообщения> ; ожидаемое сообщение № N
      [<Параметр> : <Значение>] ; параметры ожидаемого сообщения № N
      ...

Параметры

  • Инструкция ReceiveAsync имеет следующие возможные режимы работы (параметр ) -

Описание

Приём нескольких событий от разных модулей без контроля последовательности.

  • В теле команды могут использоваться переменные, регулярные выражения, операции конкатенации и иные возможности, доступные для команды Receive.
  • Инструкция ReceiveAsync поддерживает операторы работы с датой и временем (см. п. «Операторы для работы с датой и временем»).

Примеры

Пример №1

10 : ReceiveAsync <ReceiveAll> ; Пример асинхронного приема сообщений
  01 : <fs> ; Сообщение от модуля FileSystem
    Kernel.FileSystem.ExtractFilenameAnswer : 1
      Name : "config.sys"
  02 : <unit> ; Сообщение от модуля Unit
    Kernel.StateChanged : 1
      Event : 720922
      MachineName : "Uniteller.Framework.Kernel.FileSystem.Interceptor"
      NewState : "WaitApiCall"
      OldState : "WaitApiCallAnswer"
  03 : <fs> ; Еще одно сообщение от модуля FileSystem
    Kernel.StateChanged : 1
      Event : 524300
      MachineName : "Uniteller.Framework.Kernel.FileSystem"
      NewState : "Idle"
      OldState : "Idle"

/html>