Actions
機能 #323
closedPortのユーザAPIの軽微な改良
Start date:
01/10/2009
Due date:
% Done:
100%
Estimated time:
Description
Port関連のユーザに公開するAPIに関して以下の改良を行うこと。
- RTObject
- ポートのインスタンスで削除する関数の追加
- データポートを一気にread/writeする関数
- 上記の関数をデフォルトで呼ぶように設定する関数
- Port
- Connectionをより容易に取得する関数
- connect/disconnect 時のコールバック
Updated by n-ando about 15 years ago
- Status changed from 新規 to 担当
- Assignee changed from n-ando to kurihara
- RTObject
- ポートのインスタンスで削除する関数の追加
- bool RTObject::removeInPort(InPortBase* )
- bool RTObject::removeOutPort(OutPortBase*)
- bool RTObject::removePort(PortBase* )
- register*() -> add*()に変更、register*は残す(PortAdmin(add, remove), RTObject)
- rtc-template を変更
- データポートを一気にread/writeする関数
- bool RTObject::readAll()
- bool RTObject::writeAll()
- ポートのインスタンスで削除する関数の追加
- 上記の関数をデフォルトで呼ぶように設定する関数
- Connectorをより容易に取得する関数 (済み)
- connect/disconnect 時のコールバック (済み)
Updated by kurihara about 15 years ago
RTObjectのadd*Port()にて、登録しようとしているポート名が既に登録済みのポートと同じ場合は、登録せずにfalseを返す。(2010/01/12のミーティングでの決定事項)
Updated by kurihara about 15 years ago
- Status changed from 担当 to 解決
- % Done changed from 50 to 100
下記のメソッドを追加し、SimpleIO,SeqIOにて動作確認済み。(最終リビジョン1707)
bool RTObject_impl::readAll() bool RTObject_impl::writeAll() void RTObject_impl::setReadAll(bool read=true, bool completion=false); void RTObject_impl::setWriteAll(bool write=true, bool completion=false); ※ completionオプションは、readAll()の際、どれか一つのポートのread()またはwrite()にて エラーが発生した場合に、続けて他のポートのread()またはwrite()を行うか、それとも エラーが発生した時点でリターンするかを指定するためのオプション。 completionがtrueの場合は、エラーの有無に係わらず全てのポートに対してread()または write()をコールする。 falseの場合は、エラーが発生した時点でリターンするため、エラーが発生したポートの他 にRTCが保持するポートが存在する場合、それらのポートに対するread()またはwrite() 呼出は行われない。
また、InPortBase,OutPortBase,InPort.hに下記の追加と変更を行った。
InPortBase: 下記を追加 virtual bool read() =0; OutPortBase: 下記を追加 virtual bool write() =0; InPort: 下記を変更 DataType read(); ---> bool read();
Updated by kurihara about 15 years ago
- Status changed from 解決 to フィードバック
- % Done changed from 100 to 80
readAll(),writeAll()での処理を見直す。¶
現在の実装では、readAll(),writeAll()での処理時間がかかりすぎてしまうため、onExecute()での処理に影響を及ぼす。
RTObjectでInPortBase,OutPortBaseを管理するように変更する必要あり。
Updated by kurihara about 15 years ago
- Status changed from フィードバック to 解決
- % Done changed from 80 to 100
RTObjectでInPortBase,OutPortBaseを管理するように変更。(リビジョン1795)
Actions