source: SimpleSample/trunk/SimpleSampleTransparentRPC/SimpleSample.cdl@ 34

Last change on this file since 34 was 34, checked in by okuma-top, 12 years ago

totally brush up

File size: 1.7 KB
RevLine 
[30]1/*
2 * Simple な Sample (TransparentRPC 版)
3 *
4 * +-------------+ +-------------+ +-------------+
5 * | | | | | |
6 * | tTask | sTaskBody | tSimple | sSample | tSample |
7 * | Task |-----------|> Simple |==========|> Sample |
8 * | |cTask eBody| |cCall eEnt| |
9 * | |Body | | | |
10 * +-------------+ +-------------+ +-------------+
[34]11 *
12 * * SimpleSample/SimpleSample.cdl を参照
13 * * この例では Transparent プラグインが指定される。以下の※を参照
14 * * Tranceparent プラグインのため tSysLog, rpc, tDataqueOWChannel を import
[30]15 */
16
17// cygwin 用の簡易な型定義
18import( <cygwin_kernel.cdl> );
[34]19 // TECS 対応 TOPPERS/ASP ならば import( <kernel.cdl> ); に相当する
[30]20
[34]21// tSysLog の定義
[30]22import( <tSysLog.cdl> );
[34]23
24// SysLog の定義 (RPC のエラーメッセージ出力)
25cell tSysLog SysLog {
26};
27
28// RPC 関連のセルタイプの定義
[30]29import( <rpc.cdl> );
[34]30// Transparent RPC に用いる Dataqueue OneWay チャンネルセルタイプの定義
[30]31import( <tDataqueueOWChannel.cdl> );
32
[34]33// シグニチャ sSample
[30]34signature sSample {
35 ER sayHello( [in]int32_t times );
36 ER howAreYou( [out,string(len)]char_t *buf, [in]int32_t len );
37};
38
[34]39// セルタイプ tSample
[30]40celltype tSample {
41 entry sSample eEnt;
42};
43
[34]44// セルタイプ tSimple
[30]45celltype tSimple {
46 call sSample cCall;
47 entry sTaskBody eBody;
48};
49
[34]50// セル Sample
[30]51cell tSample Sample {
52};
53
[34]54// セル Simple
[30]55cell tSimple Simple {
[34]56 [through(RPCPlugin,"")] // <<< ※ この行を挿入
[30]57 cCall = Sample.eEnt;
58};
59
[34]60// セル Task
[30]61cell tTask Task {
62 cBody = Simple.eBody;
63 priority = 11;
64 stackSize = 1024;
65 taskAttribute = C_EXP( "TA_ACT" );
66};
Note: See TracBrowser for help on using the repository browser.