Giter Site home page Giter Site logo

Comments (9)

julionce avatar julionce commented on June 18, 2024

Hi @muto-esol,
There is a MTU size (512 bytes by default) which limits the maximum message size. In order to increase this MTU, you have to modified the CONFIG_MAX_TRANSMISSION_UNIT_SIZE define in transport/config.h for both Agent and Client. As well as modified the MICRORTPS_MTU_SIZE define in xrce_client.h. Please let's me known if it works for you.

from micro-xrce-dds-client.

julionce avatar julionce commented on June 18, 2024

Hi @muto-esol,
We have just launched a new release 1.0.0beta2 in which we are improved the MTU selection. I close the issue, in case of persistence reopen the issue.

from micro-xrce-dds-client.

 avatar commented on June 18, 2024

Hello there,
I tried to increase the MTU for UDP by setting

  • on the client side inside client.config: CONFIG_UDP_TRANSPORT_MTU=1024
  • on the agent side inside CMakeLists.txt: CONFIG_UDP_TRANSPORT_MTU=1024

Then I built both and tried to run the agent and two clients, but I always get
serialize eprosima::fastcdr::exception::NotEnoughMemoryException

am I missing something?

from micro-xrce-dds-client.

julionce avatar julionce commented on June 18, 2024

Hi @torave,

Your error is due to the MTU of the output packets from the Agent to the Client, you can solve it change the mtu_size in OutputMessage.h. As you can see there is a related TODO which we are going to solve for next release which will be available in the next weeks. I hope it helps you.

from micro-xrce-dds-client.

 avatar commented on June 18, 2024

Good morning @julianbermudez ,

thank you very much, this solved the problem!
However, when I increase the mtu size, the agent gives me a Segmentation fault (core dumped)
. A value of 2048 works perfectly fine, but anything above 3000 seems to be problematic. I'm not sure where this error originates -does it have to do with an underlying layer or may my system be the problem?

from micro-xrce-dds-client.

julionce avatar julionce commented on June 18, 2024

Hi @torave,

I will check it in order to give you an answer as soon as possible.

from micro-xrce-dds-client.

julionce avatar julionce commented on June 18, 2024

Hi @torave,

I checked and solved your issue on commit eProsima/Micro-XRCE-DDS-Agent@bd3967c.
Apart from this hotfix you should configure publisher and subscriber as is described in eProsima/Micro-XRCE-DDS-Agent#4 in order to send large data. This issue could be relate with #24.
Please check it and give me your feedback.
Thanks!

from micro-xrce-dds-client.

 avatar commented on June 18, 2024

Hello @julianbermudez,

Sorry for my late answer, I've been sick.
I wanted to test the software, but I haven't actually been able to build. I cloned the master repository of the Micro-XRCE-DDS-Agent and followed the instructions on https://micro-xrce-dds.readthedocs.io/en/latest/installation.html. When I use the make command, I get the following output:

Scanning dependencies of target microxrcedds_agent
[  3%] Building CXX object CMakeFiles/microxrcedds_agent.dir/src/cpp/Root.cpp.o
[  6%] Building CXX object CMakeFiles/microxrcedds_agent.dir/src/cpp/processor/Processor.cpp.o
[ 10%] Building CXX object CMakeFiles/microxrcedds_agent.dir/src/cpp/client/ProxyClient.cpp.o
[ 13%] Building CXX object CMakeFiles/microxrcedds_agent.dir/src/cpp/participant/Participant.cpp.o
/home/tv/Projects/Micro-XRCE-DDS-Agent/src/cpp/participant/Participant.cpp: In member function ‘virtual bool eprosima::uxr::Participant::matched(const dds::xrce::ObjectVariant&) const’:
/home/tv/Projects/Micro-XRCE-DDS-Agent/src/cpp/participant/Participant.cpp:152:43: error: no match for ‘operator==’ (operand types are ‘eprosima::fastrtps::ParticipantAttributes’ and ‘const eprosima::fastrtps::ParticipantAttributes’)
     return parser_cond && (new_attributes == old_attributes);
                            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CMakeFiles/microxrcedds_agent.dir/build.make:134: recipe for target 'CMakeFiles/microxrcedds_agent.dir/src/cpp/participant/Participant.cpp.o' failed
make[2]: *** [CMakeFiles/microxrcedds_agent.dir/src/cpp/participant/Participant.cpp.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/microxrcedds_agent.dir/all' failed
make[1]: *** [CMakeFiles/microxrcedds_agent.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Should I open a new issue for this, since it isn't really related to the datasize affair?

from micro-xrce-dds-client.

julionce avatar julionce commented on June 18, 2024

Hi @torave,

There is a similar issue open, I redirect to it. Please tell me if you are able to solve this issue. Thanks!

from micro-xrce-dds-client.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.