[openrtm-users 01201] Re: Howto check for data port buffer full error

Geoffrey Biggs geoffrey.biggs @ aist.go.jp
2010年 4月 27日 (火) 07:28:48 JST


One possibility is using the OnOverflow callback on your port. When a
buffer overflow occurs, this callback should be called. You can register
a functor to this callback for the port in your component.

Aside from that, it's possible the status is not being propagated
correctly. The buffer is not held directly in the port object. It is
held in the connection between the two ports - think of it as the buffer
floating in the ether mystically. You could try exposing the connectors
and checking their status directly to see if it's being propagated properly.

Geoff

On 26/04/10 22:17, Steffen Wittmeier wrote:
> Hi,
> 
> how can I check whether a data port buffer is full and sleep for a retry?
> 
> I tried to get the DataPortStatusList and iterated over the list to
> check the individual status. However, I always received PORT_OK, even
> when the buffer must have been full as I did not receive all data on the
> other end of the connection. I also received PORT_OK when there was no
> connection between the provider and the consumer data port.
> 
> Any help is appreciated.
> 
> 
> Cheers
> Steffen Wittmeier
> 
> 



openrtm-users メーリングリストの案内