[openrtm-users 00608] データポートで送受信できるデータの上限サイズについて

3 posts / 0 new
Last post
root
Offline
Last seen: 19 hours 9 min ago
Joined: 2009-06-23 14:31
[openrtm-users 00608] データポートで送受信できるデータの上限サイズについて

榎本です.

データポートで送受信できるデータの上限サイズを伺いたいと思います.

データポートを使い,TimedOctetSeqに大きいサイズの構造体(2.8MByte)をmemcpyし,送受信しようとしたところ,上手く送ることが出来ませんでした.
しかしながら,単純に構造体のサイズを小さく変えてみた(1.3MByte)ところ,送受信することができました.

データポートを介した通信では,データを一度バッファに格納してから通信していると伺っておりますので,このサイズを超えてしまう為に通信ができなくなってしまうのでは,とは思っておりますが,このような理解でよろしいでしょうか?

もし,このような理解でよろしければ,データポートの上限サイズについて,
TimedOctetSeqならば何Byte,TimedDoubleSeqなら何個の配列,というような指標を頂けたら幸いかと思います.

Undefined
root
Offline
Last seen: 19 hours 9 min ago
Joined: 2009-06-23 14:31
[openrtm-users 00609] データポートで送受信できるデータの上限サイズについて

榎本 様

産総研 栗原です。

まず、omniORBでは、giop(General Inter-ORB Protocol)で扱える
サイズはデフォルトで"2097152B(2MB)"となっております。
今回の問題では、2.8MByteのデータ通信で上手くいかなかったとの
事ですので、omniORBのgiopで扱えるサイズを越えている事が原因
ではないかと考えられます。

この最大サイズを変更するためには、下記の2つの方法があります。

1. rtc.confにて最大サイズを指定する。

# file: rtc.conf
corba.nameservers: localhost
naming.formats: %n.rtc
corba.args: -ORBgiopMaxMsgSize 3145728 # この行を追加
# Maxサイズを3Mに指定

2. 環境変数にて指定する場合
export ORBgiopMaxMsgSize=3145728

※ giopMaxMsgSizeを指定する場合、server,client共(対になるコンポーネン
ト)に設定する必要があります。

(omniORB configuration and API)
http://omniorb.sourceforge.net/omni41/omniORB/omniORB004.html

以上、宣しくお願い致します。

On Wed, 17 Sep 2008 17:22:51 +0900
"yosuke enomoto" wrote:

> 榎本です.
>
> データポートで送受信できるデータの上限サイズを伺いたいと思います.
>
> データポートを使い,TimedOctetSeqに大きいサイズの構造体(2.8MByte)をmemcpyし,送受信しようとしたところ,上手く送ることが出来ませんでした.
> しかしながら,単純に構造体のサイズを小さく変えてみた(1.3MByte)ところ,送受信することができました.
>
> データポートを介した通信では,データを一度バッファに格納してから通信していると伺っておりますので,このサイズを超えてしまう為に通信ができなくなってしまうのでは,とは思っておりますが,このような理解でよろしいでしょうか?
>
> もし,このような理解でよろしければ,データポートの上限サイズについて,
> TimedOctetSeqならば何Byte,TimedDoubleSeqなら何個の配列,というような指標を頂けたら幸いかと思います.
>

root
Offline
Last seen: 19 hours 9 min ago
Joined: 2009-06-23 14:31
[openrtm-users 00610] データポートで送受信できるデータの上限サイズについて

産総研 栗原 様

榎本です.

了解致しました.
返答頂き,ありがとう御座います.

2008/09/17 18:34 kurihara shinji :
> 榎本 様
>
> 産総研 栗原です。
>
>
> まず、omniORBでは、giop(General Inter-ORB Protocol)で扱える
> サイズはデフォルトで"2097152B(2MB)"となっております。
> 今回の問題では、2.8MByteのデータ通信で上手くいかなかったとの
> 事ですので、omniORBのgiopで扱えるサイズを越えている事が原因
> ではないかと考えられます。
>
>
> この最大サイズを変更するためには、下記の2つの方法があります。
>
> 1. rtc.confにて最大サイズを指定する。
>
> # file: rtc.conf
> corba.nameservers: localhost
> naming.formats: %n.rtc
> corba.args: -ORBgiopMaxMsgSize 3145728 # この行を追加
> # Maxサイズを3Mに指定
>
> 2. 環境変数にて指定する場合
> export ORBgiopMaxMsgSize=3145728
>
>
> ※ giopMaxMsgSizeを指定する場合、server,client共(対になるコンポーネン
> ト)に設定する必要があります。
>
>
> (omniORB configuration and API)
> http://omniorb.sourceforge.net/omni41/omniORB/omniORB004.html
>
>
> 以上、宣しくお願い致します。
>
>
>
> On Wed, 17 Sep 2008 17:22:51 +0900
> "yosuke enomoto" wrote:
>
>> 榎本です.
>>
>> データポートで送受信できるデータの上限サイズを伺いたいと思います.
>>
>> データポートを使い,TimedOctetSeqに大きいサイズの構造体(2.8MByte)をmemcpyし,送受信しようとしたところ,上手く送ることが出来ませんでした.
>> しかしながら,単純に構造体のサイズを小さく変えてみた(1.3MByte)ところ,送受信することができました.
>>
>> データポートを介した通信では,データを一度バッファに格納してから通信していると伺っておりますので,このサイズを超えてしまう為に通信ができなくなってしまうのでは,とは思っておりますが,このような理解でよろしいでしょうか?
>>
>> もし,このような理解でよろしければ,データポートの上限サイズについて,
>> TimedOctetSeqならば何Byte,TimedDoubleSeqなら何個の配列,というような指標を頂けたら幸いかと思います.
>>
>
>
> --
> ----------
> 栗原 眞二
> shinji.kurihara@aist.go.jp
> kurihara@imagination.co.jp
>

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.1.0-RELESE Download page
2.0.1-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK