Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flow controller & misc #12924

Merged
merged 15 commits into from
May 15, 2024
Merged

Conversation

maloel
Copy link
Collaborator

@maloel maloel commented May 12, 2024

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
@@ -26,6 +25,7 @@ namespace realdds {

class dds_topic;
class dds_publisher;
class dds_participant;
Copy link
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
Collaborator 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
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 IntelRealSense:development May 15, 2024
16 of 17 checks passed
@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