Class StreamClient

Inheritance Relationships

Base Type

  • public std::enable_shared_from_this< StreamClient >

Class Documentation

class StreamClient : public std::enable_shared_from_this<StreamClient>

Public Types

using SubsessionStartedHandler = std::function<void(VideoCodec codec, MediaSubsession *subsession)>
using SubsessionFinishedHandler = std::function<void(MediaSubsession*)>
using SessionFailedHandler = std::function<void(int code, const std::string &message)>
using SessionReadyHandler = std::function<void()>
using SessionStartedHandler = std::function<void()>
using SessionFinishedHandler = std::function<void()>
using SessionTimeoutHandler = std::function<void()>
using ReceiveStreamDataHandler = std::function<void(VideoCodec codec, MediaSubsession *subsession, const FrameDataPtr&)>

Public Functions

~StreamClient()
StreamClient(const StreamClient&) = delete
StreamClient(StreamClient&&) = delete
StreamClient &operator=(const StreamClient&) = delete
StreamClient &operator=(StreamClient&&) = delete
VideoCodec codec() const noexcept
std::string url() const noexcept
std::string topicName() const noexcept
const rclcpp::Logger &logger() const noexcept
void connect()
void disconnect()
void setSessionTimeout(const std::chrono::milliseconds &timeout) noexcept
void setSubsessionStartedHandler(SubsessionStartedHandler handler) noexcept
void setSubsessionFinishedHandler(SubsessionFinishedHandler handler) noexcept
void setSessionFailedHandler(SessionFailedHandler handler) noexcept
void setSessionReadyHandler(SessionReadyHandler handler) noexcept
void setSessionStartedHandler(SessionStartedHandler handler) noexcept
void setSessionFinishedHandler(SessionFinishedHandler handler) noexcept
void setSessionTimeoutHandler(SessionTimeoutHandler handler) noexcept
void setReceiveStreamDataHandler(ReceiveStreamDataHandler handler) noexcept

Public Static Functions

static std::shared_ptr<StreamClient> create(const std::string &topic_name, const std::string &url, const rclcpp::Logger &logger = rclcpp::get_logger("StreamClient")) noexcept

Protected Functions

void subsessionStarted(VideoCodec codec, MediaSubsession *subsession)
void subsessionFinished(MediaSubsession *subsession)
void sessionFailed(int code, const std::string &message)
void sessionReady()
void sessionStarted()
void sessionFinished()
void sessionTimeout()
void receiveStreamData(VideoCodec codec, MediaSubsession *subsession, const FrameDataPtr &data)