<tt>email</tt>: email-based middleware
email
is a publish/subscribe middleware that uses emails to exchange string messages. It also supports request/response communication.
It consists of these main components:
email
initialization/shutdownemail/init.hpp
Publisher
email/publisher.hpp
Subscription
email/subscription.hpp
Service Client
email/service_client.hpp
Service Server
email/service_server.hpp
Along with the main components, there are some useful data containers:
Message Info
email/message_info.hpp
Service Request
email/service_request.hpp
email/service_info.hpp
GID
email/gid.hpp
Timestamp
email/timestamp.hpp
There’s also some waiting- and time-related utilities:
Guard Condition
email/guard_condition.hpp
Wait Set
email/wait_set.hpp
Wait-related utilities
Finally, there is a logging component:
Logging
email/log.hpp
The remaining headers/components are internal APIs and utilities:
Context
email/context.hpp
Curl interface
email/curl/context.hpp
email/curl/executor.hpp
email/curl/info.hpp
Email interface
email/email/curl_receiver.hpp
email/email/curl_sender.hpp
email/email/info.hpp
email/email/intra_receiver.hpp
email/email/intra_sender.hpp
email/email/payload_utils.hpp
email/email/receiver.hpp
email/email/response_utils.hpp
email/email/sender.hpp
Internal handling of new emails/messages
email/email/handler.hpp
email/email/polling_manager.hpp
email/subscription_handler.hpp
email/service_handler.hpp
Interfaces and base classes
email/communication_info.hpp
email/gid_object.hpp
email/named_object.hpp
email/pub_sub.hpp
email/service.hpp
Options
email/options.hpp
Containers
email/safe_map.hpp
email/safe_queue.hpp
Utilities
email/utils.hpp
Macros
email/macros.hpp
email/visibility_control.hpp
Class Hierarchy
-
- Namespace email
- Namespace email::log
- Class LoggingError
- Class LoggingNotInitializedError
- Enum Level
- Struct ConnectionInfo
- Struct EmailContent
- Struct EmailData
- Struct EmailRecipients
- Struct ProtocolInfo
- Struct ServiceRequest
- Struct ServiceRequestId
- Struct UserInfo
- Class CommunicationInfo
- Class Context
- Class ContextAlreadyInitializedError
- Class ContextError
- Class ContextInitFailedError
- Class ContextNotInitializedError
- Class CurlContext
- Class CurlEmailReceiver
- Class CurlEmailSender
- Struct CurlEmailSender::UploadData
- Class CurlExecutor
- Class EmailHandler
- Class EmailReceiver
- Class EmailSender
- Class Gid
- Class GidObject
- Class GuardCondition
- Class GuardConditionAlreadyInUseError
- Class IntraEmailReceiver
- Class IntraEmailSender
- Class MessageInfo
- Class NamedObject
- Class ObjectNameInvalidError
- Class Options
- Class PollingManager
- Class Publisher
- Class PubSubObject
- Template Class SafeMap
- Template Class SafeQueue
- Class ServiceClient
- Class ServiceHandler
- Class ServiceInfo
- Class ServiceNameInvalidError
- Class ServiceObject
- Class ServiceServer
- Class Subscription
- Class SubscriptionHandler
- Class Timestamp
- Class TopicNameInvalidError
- Class WaitSet
- Namespace email::log
- Namespace fmt
- Template Struct formatter< email::EmailContent >
- Template Struct formatter< email::EmailData >
- Template Struct formatter< email::EmailHeaders >
- Template Struct formatter< email::EmailRecipients >
- Template Struct formatter< email::Gid >
- Template Struct formatter< email::Timestamp >
- Template Struct formatter< rcpputils::fs::path >
- Template Struct formatter< YAML::Node >
- Namespace email
File Hierarchy
-
- Directory include
- Directory email
- Directory curl
- File context.hpp
- File executor.hpp
- File info.hpp
- Directory email
- File curl_receiver.hpp
- File curl_sender.hpp
- File handler.hpp
- File info.hpp
- File intra_receiver.hpp
- File intra_sender.hpp
- File payload_utils.hpp
- File polling_manager.hpp
- File receiver.hpp
- File response_utils.hpp
- File sender.hpp
- File communication_info.hpp
- File context.hpp
- File email.hpp
- File gid.hpp
- File gid_object.hpp
- File guard_condition.hpp
- File init.hpp
- File log.hpp
- File lttng.hpp
- File macros.hpp
- File message_info.hpp
- File named_object.hpp
- File options.hpp
- File pub_sub.hpp
- File publisher.hpp
- File safe_map.hpp
- File safe_queue.hpp
- File service.hpp
- File service_client.hpp
- File service_handler.hpp
- File service_info.hpp
- File service_request.hpp
- File service_server.hpp
- File subscription.hpp
- File subscription_handler.hpp
- File timestamp.hpp
- File utils.hpp
- File visibility_control.hpp
- File wait.hpp
- File wait_set.hpp
- Directory curl
- Directory email
- Directory include