Peshala, You are correct that if you have a lot of filters which run for a long time it will only operate on one at a time. Any new data coming in will be buffered in the receiving queue(size 50). You will only be able to operate at a frequency of 1/T where T is the time it takes for each message to traverse through all the filters. I would recommend working on optimizing your filters before you try to multi-thread the node. It is safe to publish inside the callback. It will be queued to send inside the callback thread and sent in another thread. Tully Peshala Jayasekara wrote: > Dear ros-users, > > This is about the filter_chain. > Inside the callback function of the scan_to_scan_filter_chain, it > calls the update function of the filter_chain. > In the update function of the filter_chain, each update function of > the included filters is sequentially called. > However, I feel that if many filters are included in the > scan_to_scan_filter_chain, this may cause not to receive any callbacks > until you are done with all the filter updates. > > Please correct me if I am wrong. > > The above I used as an example. Anyway, what I am trying to do is to > publish some processed data after subscribing to a topic (laser scan). > However, if I do the processing and publishing inside the callback of > the subscription it may lead to block the callback. Please guide me > how I should handle this. > I would like to know how spawning a new thread be done so that > processing can be done separately without blocking the callback. > > Thank you in advance. > Peshala > > ------------------------------------------------------------------------ > New Email names for you! > > > Get the Email name you've always wanted on the new @ymail and @rocketmail. > Hurry before someone else does! > ------------------------------------------------------------------------ > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users >