Raw Data Stream Functional Cluster는 직렬화 없이 이진 데이터를 네트워크 연결로
주고받습니다. 이 페이지는 ara::rds 네임스페이스의 공개 API 명세로, 클라이언트와
서버 스트림 종단 · 읽기 결과 구조체 · 관련 오류 도메인을 헤더 파일 단위로
정리합니다. API 명세 본문은 영어 원문으로 제공됩니다.
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamClient |
| Syntax: | ara::core::Result< void > Connect () noexcept; |
| Return value: | ara::core::Result< void > | void if successful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kConnectionRefused | rollback_semantics |
| The target address was not listening for connections or refused the connection request. |
| RdsErrc::kAddressNotAvailable | rollback_semantics |
| The specified address is not available from the local machine. |
| RdsErrc::kStreamAlreadyConnected | rollback_semantics |
| The specified connection is already connected. |
| RdsErrc::kPeerUnreachable | rollback_semantics |
| Network error. The peer is unreachable (POSIX ENETUNREACH). |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Sets up a unicast socket connection for the RawDataStream defined by the instance, and establishes a connection to the TCP server.
In the case of UDP, no connection is established. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamClient |
| Syntax: | ara::core::Result< void > Connect (std::chrono::milliseconds timeout) noexcept; |
| Parameters (in): | timeout | Timeout value for this operation. |
| Return value: | ara::core::Result< void > | void if successful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kConnectionRefused | rollback_semantics |
| The target address was not listening for connections or refused the connection request. |
| RdsErrc::kAddressNotAvailable | rollback_semantics |
| The specified address is not available from the local machine. |
| RdsErrc::kCommunicationTimeout | rollback_semantics |
| The operation was not successful and timed out. |
| RdsErrc::kStreamAlreadyConnected | rollback_semantics |
| The specified connection is already connected. |
| RdsErrc::kPeerUnreachable | rollback_semantics |
| Network error. The peer is unreachable (POSIX ENETUNREACH). |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Sets up a unicast socket connection for the RawDataStream defined by the instance, and establishes a connection to the TCP server within a provided timeout value.
In the case of UDP, no connection is established. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamClient |
| Syntax: | ara::core::Result< ara::rds::ReadDataResult > ReadData (std::size_t maxLength, std::chrono::milliseconds timeout) noexcept; |
| Parameters (in): | maxLength | The requested maximum number of bytes to read from the stream. |
| timeout | Timeout value for this operation. |
| Return value: | ara::core::Result< ReadDataResult > | a struct of type ReadDataResult if successful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kCommunicationTimeout | rollback_semantics |
| The operation was not successful and timed out. |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Requests to read a number of bytes of data from the socket connection for the RawDataStream defined by the instance. A timeout value is provided for non-blocking operation. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamClient |
| Syntax: | ara::core::Result< ara::rds::ReadDataResult > ReadData (std::size_t maxLength) noexcept; |
| Parameters (in): | maxLength | The requested maximum number of bytes to read from the stream. |
| Return value: | ara::core::Result< ReadDataResult > | a struct of type ReadDataResult if succesful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Requests to read a number of bytes of data from the socket connection for the RawDataStream defined by the instance. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamClient |
| Syntax: | ara::core::Result< void > Shutdown () noexcept; |
| Return value: | ara::core::Result< void > | void if successful, otherwise an error code indicating the error |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Closes the socket connection for the RawDataStream defined by the instance. Both the receiving and the sending part of the socket connection is shut down. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamClient |
| Syntax: | ara::core::Result< std::size_t > WriteData (std::unique_ptr< ara::core::Byte[]> data, std::size_t maxLength) noexcept; |
| Parameters (in): | data | std::unique pointer to the byte array to send. |
| maxLength | The requested maximum number of bytes to write to the stream. |
| Return value: | ara::core::Result< std::size_t > | the actual number of bytes written if succesful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kConnectionClosedByPeer | rollback_semantics |
| Network error. The established connection has been shut down during writing (POSIX EPIPE). |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Requests to write of a number of bytes to the the socket connection for the RawDataStream defined by the instance (for 1:1 use cases). |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamClient |
| Syntax: | ara::core::Result< std::size_t > WriteData (std::unique_ptr< ara::core::Byte[]> data, std::size_t maxLength, std::chrono::milliseconds timeout) noexcept; |
| Parameters (in): | data | std::unique pointer to the byte array to send. |
| maxLength | The requested maximum number of bytes to write to the stream. |
| timeout | Timeout value for this operation. |
| Return value: | ara::core::Result< std::size_t > | the actual number of bytes written if succesful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kCommunicationTimeout | rollback_semantics |
| The operation was not successful and timed out. |
| RdsErrc::kConnectionClosedByPeer | rollback_semantics |
| Network error. The established connection has been shut down during writing (POSIX EPIPE). |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Requests to write a number of bytes to the the socket connection for the RawDataStream defined by the instance. A timeout value is provided for non-blocking operation. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamClient |
| Syntax: | static ara::core::Result< ara::rds::RawDataStreamClient > Create (const ara::core::InstanceSpecifier &instance) noexcept; |
| Parameters (in): | instance | The instance specifier for the instance. |
| Return value: | ara::core::Result< RawDataStreamClient > | ara::core::Result<RawDataStreamClient> The RawDataStreamClient object if succesful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | thread-safe |
| Violations: | InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of the executable, or it refers to a model element other than a PortPrototype. |
| PortInterfaceMappingViolation | A PortPrototype that is referenced by a RawDataStreamMapping needs to be typed by a RawDataStreamClientInterface |
| ProcessMappingViolation | The type of mapping does not match the expected type of PortInterface |
| InstanceSpecifierAlreadyInUseViolation | The constructor was called with an Instance Specifier already in use in this process |
| Errors: | RdsErrc::kConnectionCreationFailed | rollback_semantics |
| Permission to create a connection is denied. (POSIX EACCES) |
| RdsErrc::kAddressNotAvailable | rollback_semantics |
| The specified address is not available from the local machine. |
| Description: | Named exception-less constructor that takes an instance Specifier qualifying the wanted network binding and parameters for the instance. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamServer |
| Syntax: | ara::core::Result< ara::rds::ReadDataResult > ReadData (std::size_t maxLength, std::chrono::milliseconds timeout) noexcept; |
| Parameters (in): | maxLength | The requested maximum number of bytes to read from the stream. |
| timeout | Parameter to assign a timeout for this operation. |
| Return value: | ara::core::Result< ReadDataResult > | a struct of type ReadDataResult. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kCommunicationTimeout | rollback_semantics |
| The operation was not successful and timed out. |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Requests to read a number of bytes of data from the unicast socket connection for the RawDataStream defined by the instance. A timeout value is provided for non-blocking operation. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamServer |
| Syntax: | ara::core::Result< ara::rds::ReadDataResult > ReadData (std::size_t maxLength) noexcept; |
| Parameters (in): | maxLength | The requested maximum number of bytes to read from the stream. |
| Return value: | ara::core::Result< ReadDataResult > | a struct of type ReadDataResult if successful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Requests to read a number of bytes of data from the Unicast socket connection for the RawDataStream defined by the instance. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamServer |
| Syntax: | ara::core::Result< void > Shutdown () noexcept; |
| Return value: | ara::core::Result< void > | void if successful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Closes the socket connection for the RawDataStream defined by the instance. Both the receiving and the sending part of the socket connection is shut down. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamServer |
| Syntax: | ara::core::Result< void > WaitForConnection (std::chrono::milliseconds timeout) noexcept; |
| Parameters (in): | timeout | Timeout value for this operation. |
| Return value: | ara::core::Result< void > | void if successful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kCommunicationTimeout | rollback_semantics |
| The operation was not successful and timed out. |
| RdsErrc::kConnectionAborted | rollback_semantics |
| Network error. The incoming connection was aborted (POSIX ECONNABORTED). |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Enables the RawDataStreamServer instance for incoming TCP connections. For UDP connections the operation returns with no action. A timeout value is provided for non-blocking operation. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamServer |
| Syntax: | ara::core::Result< void > WaitForConnection () noexcept; |
| Return value: | ara::core::Result< void > | void if successful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kConnectionAborted | rollback_semantics |
| Network error. The incoming connection was aborted (POSIX ECONNABORTED). |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Enables the RawDataStreamServer instance for incoming TCP connections. For UDP connections the operation returns with no action. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamServer |
| Syntax: | ara::core::Result< std::size_t > WriteData (std::unique_ptr< ara::core::Byte[]> data, std::size_t maxLength) noexcept; |
| Parameters (in): | data | std::unique pointer to the byte array to send. |
| maxLength | The requested maximum number of bytes to write to the stream. |
| Return value: | ara::core::Result< std::size_t > | the actual number of bytes written if succesful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kConnectionClosedByPeer | rollback_semantics |
| Network error. The established connection has been shut down during writing (POSIX EPIPE). |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Requests to write a number of bytes to the the socket connection for the RawDataStream defined by the instance. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamServer |
| Syntax: | ara::core::Result< std::size_t > WriteData (std::unique_ptr< ara::core::Byte[]> data, std::size_t maxLength, std::chrono::milliseconds timeout) noexcept; |
| Parameters (in): | data | std::unique pointer to the byte array to send. |
| maxLength | The requested maximum number of bytes to write to the stream. |
| timeout | Parameter to assign a timeout for this operation. |
| Return value: | ara::core::Result< std::size_t > | the actual number of bytes written if succesful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | not thread-safe |
| Errors: | RdsErrc::kStreamNotConnected | rollback_semantics |
| Trying to use a raw data stream without an established connection. |
| RdsErrc::kCommunicationTimeout | rollback_semantics |
| The operation was not successful and timed out. |
| RdsErrc::kConnectionClosedByPeer | rollback_semantics |
| Network error. The established connection has been shut down during writing (POSIX EPIPE). |
| RdsErrc::kInterruptedBySignal | no_rollback_semantics |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| Description: | Requests to write a number of bytes to the the socket connection for the RawDataStream defined by the instance. A timeout value is provided for non-blocking operation. |
| Kind: | function |
| Header file: | #include "ara/rds/raw_data_stream.h" |
| Scope: | ara::rds::RawDataStreamServer |
| Syntax: | static ara::core::Result< ara::rds::RawDataStreamServer > Create (const ara::core::InstanceSpecifier &instance) noexcept; |
| Parameters (in): | instance | The instance specifier for the instance. |
| Return value: | ara::core::Result< RawDataStreamServer > | ara::core::Result<RawDataStreamServer> The RawDataStreamServer object if succesful, otherwise an error code indicating the error. |
| Exception Safety: | exception safe |
| Thread Safety: | thread-safe |
| Violations: | InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of the executable, or it refers to a model element other than a PortPrototype. |
| PortInterfaceMappingViolation | A PortPrototype that is referenced by a RawDataStreamMapping needs to be typed by a RawDataStreamServerInterface |
| ProcessMappingViolation | The type of mapping does not match the expected type of PortInterface |
| InstanceSpecifierAlreadyInUseViolation | The constructor was called with an Instance Specifier already in use in this process |
| Errors: | RdsErrc::kConnectionCreationFailed | rollback_semantics |
| Permission to create a connection is denied. (POSIX EACCES) |
| RdsErrc::kAddressNotAvailable | rollback_semantics |
| The specified address is not available from the local machine. |
| RdsErrc::kStreamAlreadyConnected | rollback_semantics |
| The specified connection is already connected. |
| Description: | Named exception-less constructor that takes an instance Specifier qualifying the wanted network credentials (UDP or TCP) for the instance. A socket is created and bound to the address and port specified in the local credentials. |
| Kind: | enumeration |
| Header file: | #include "ara/rds/rds_error_domain.h" |
| Forwarding header file: | #include "ara/rds/rds_fwd.h" |
| Scope: | namespace ara::rds |
| Symbol: | RdsErrc |
| Underlying type: | ara::core::ErrorDomain::CodeType |
| Syntax: | enum class RdsErrc : ara::core::ErrorDomain::CodeType {...}; |
| Values: | kStreamNotConnected | = 1 |
| Trying to use a raw data stream without an established connection. |
| kCommunicationTimeout | = 2 |
| The operation was not successful and timed out. |
| kConnectionRefused | = 3 |
| The target address was not listening for connections or refused the connection request. |
| kAddressNotAvailable | = 4 |
| The specified address is not available from the local machine. |
| kStreamAlreadyConnected | = 5 |
| The specified connection is already connected. |
| kConnectionClosedByPeer | = 6 |
| Network error. The established connection has been shut down during writing (POSIX EPIPE). |
| kPeerUnreachable | = 7 |
| Network error. The peer is unreachable (POSIX ENETUNREACH). |
| kConnectionAborted | = 8 |
| Network error. The incoming connection was aborted (POSIX ECONNABORTED). |
| kInterruptedBySignal | = 9 |
| The operation was interrupted by a system signal (POSIX_EINTR). Usually a retry of the operation works, but resources may have been put into an unknown state, which means that retrying might lead to unexpected behavior. |
| kConnectionCreationFailed | = 10 |
| Permission to create a connection is denied. (POSIX EACCES) |
| kStreamHeaderFieldValueInvalid | = 13 |
| Detected an invalid stream header field value(e.g. unkown IEEE1722 stream id). |
| kStreamHeaderFieldValueMissing | = 14 |
| Decected an missing stream header field (e.g. missing IEEE1722 mac address part of stream id). |
| Description: | The RdsErrc enumeration defines the error codes for the RdsErrorDomain. |