タスクの種類を知る
rehearsalはプログラムの標準入出力はもちろん、TCP通信やシリアル通信などのデータの入出力を一律に標準入出力として管理します。この章ではrehearsalがサポートしているタスクについて紹介します。
タスクを知る
rehearsalではデータの入出力を伴うタスクを一律に標準入出力と対応させることで異なる種類のプロセス間でのやり取りを行っています。
詳しくはドキュメント「タスクの概念」をご覧ください。
サポートしているタスクの一覧
CUIタスク
概要
CUIタスクは実行コマンドなどを指定し、プログラムを実行します。リアルタイムな標準入出力を使用してプロセス間通信を実現し、アプリケーションが終了することでタスクの終了とします。すでに実行されているプログラムの標準入出力を読み取ることはできず、あくまでも「プログラムを実行する」という点にご注意ください。
内部動作について
CUIタスクは標準パッケージであるos/execを使用して実行されます。
SERIALタスク
概要
SERIALタスクはポート名、通信速度、データサイズを指定し、任意のシリアル通信に接続します。シリアル通信の送受信を使用してプロセス間通信を実現します。
終了方法は現在未定義です(v1.202109)。このタスクの
until
プロパティは__eternal
とし、wait
プロパティはfalse
とすべきです。untilプロパティの詳細についてはドキュメント「フェイズとタスク」をご覧ください。
内部動作について
SERIALタスクは外部パッケージであるgo.bug.st/serialを使用して実行されます。パリティチェックは行われません。
TCP/UDP/UNIXタスク
概要
これらのタスクはアドレスを指定し任意のそれぞれTCP通信、UDP通信、UNIXプロセス間通信を使用してプロセス間通信を実現し、相手側の通信が切断されることでタスクの終了とします。
内部動作について
これらのタスクは標準パッケージであるnetを使用して実行されます。また、入出力の同期間隔はテンプレートファイルで設定できます。既定では1秒ごとに同期が行われます。
タスク別の入出力系動作内容
タスクの種類 | 標準入力 | 標準出力 | 標準エラー出力 |
---|---|---|---|
(テンプレートファイル上の表記) | stdin |
stdout |
stderr |
CUIタスク | 標準入力 | 標準出力 | 標準エラー出力 |
SERIALタスク | 接続先への送信データ | 接続先からの受信データ | (該当なし) |
TCP/UDP/UNIXタスク | 接続先への送信データ | 接続先からの受信データ | (該当なし) |