Skip to content

Flow controller & misc - #12924

Merged
maloel merged 15 commits into
realsenseai:developmentfrom
maloel:flow-controller
May 15, 2024
Merged

Flow controller & misc#12924
maloel merged 15 commits into
realsenseai:developmentfrom
maloel:flow-controller

Conversation

@maloel

@maloel maloel commented May 12, 2024

Copy link
Copy Markdown
Contributor

Need ability to use flow-controllers in DDS, to limit data rates. This is the prep work, including everything but the actual creation and usage of the flow-controllers (pending changes from eProsima):

  • changed dds_topic_writer, dds_topic_reader, and dds_participant qos overrides
  • change DDS serialization to use the above, with participant QoS indenting output (see example at bottom)
  • fix some pyrealdds issues
  • update topic-send and add topic-sink utilities

Plus some misc stuff:

  • change make_less_screamy use a more generic algorithm word_format that can do generic dash_case conversions
  • add rsutils::ios namespace for ios manipulations
  • add ios::field and ios::indent, to make structure output to stream more standardized
  • add docs for format_conversion, per Nir's request
  • add missing docs for recommended-filters in stream-options

Serialization looks like this:

 12/05 12:53:38,638 DEBUG [5844] (dds-participant.cpp:255) participant 0568c81754a6.0.1c1 'realsense-viewer'
    transport
        udp
            max-initial-peers-range 4
            max-message-size 65500
        use-builtin-transports 0*
        listen-socket-buffer-size 0
        send-socket-buffer-size 0
    wire-protocol
        participant-id -1
        prefix 000000000000000000000000
        builtin
            discovery-config
                lease-duration 10.0*
is up on domain 0 from settings: {
    "-domain": 0,
    "-lease-duration": 15,
    "-participant-id": 23,
    "device": {
        "metadata": {
            "-reliability": "best-effort"
        }
    },
    "udp": {
        "-whitelist": [
            "192.168.11.2"
        ]
    }
}

@maloel
maloel requested a review from OhadMeir May 12, 2024 09:58

class dds_topic;
class dds_publisher;
class dds_participant;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not used

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

// Separate one field from the previous:
// os << field::separator << "whatever";
// If any indent is set, this will be on a separate line!
static std::ostream & separator( std::ostream & );

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The separator/value notation is not that clear. Maybe use key/value or name/value notation

@maloel
maloel force-pushed the flow-controller branch from 04063fe to 63b1b53 Compare May 15, 2024 11:48
@maloel
maloel merged commit f3f5c03 into realsenseai:development May 15, 2024
@maloel
maloel deleted the flow-controller branch May 15, 2024 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants