rlpx/rlpx_error.hpp
Namespaces
Types
|
Name |
| enum class |
SessionError |
| enum class |
AuthError |
| enum class |
FramingError |
| enum class |
CryptoError |
template <typename T > using outcome::result< T, SessionError, outcome::policy::all_narrow > |
Result |
template <typename T > using outcome::result< T, AuthError, outcome::policy::all_narrow > |
AuthResult |
template <typename T > using outcome::result< T, FramingError, outcome::policy::all_narrow > |
FramingResult |
template <typename T > using outcome::result< T, CryptoError, outcome::policy::all_narrow > |
CryptoResult |
| using outcome::result< void, SessionError, outcome::policy::all_narrow > |
VoidResult |
| using outcome::result< void, AuthError, outcome::policy::all_narrow > |
AuthVoidResult |
| using outcome::result< void, FramingError, outcome::policy::all_narrow > |
FramingVoidResult |
| using outcome::result< void, CryptoError, outcome::policy::all_narrow > |
CryptoVoidResult |
Functions
Types Documentation
enum SessionError
| Enumerator |
Value |
Description |
| kNetworkFailure |
|
|
| kAuthenticationFailed |
|
|
| kHandshakeFailed |
|
|
| kInvalidState |
|
|
| kPeerDisconnected |
|
|
| kTimeout |
|
|
| kCompressionError |
|
|
| kEncryptionError |
|
|
| kDecryptionError |
|
|
| kInvalidMessage |
|
|
| kInvalidFrameSize |
|
|
| kBufferOverflow |
|
|
| kConnectionFailed |
|
|
| kNotConnected |
|
|
| kDisconnected |
|
|
enum AuthError
| Enumerator |
Value |
Description |
| kEciesEncryptFailed |
|
|
| kEciesDecryptFailed |
|
|
| kInvalidAuthMessage |
|
|
| kInvalidAckMessage |
|
|
| kSharedSecretFailed |
|
|
| kSignatureInvalid |
|
|
| kKeyDerivationFailed |
|
|
| kInvalidPublicKey |
|
|
| kInvalidNonce |
|
|
enum FramingError
| Enumerator |
Value |
Description |
| kEncryptionFailed |
|
|
| kDecryptionFailed |
|
|
| kMacMismatch |
|
|
| kInvalidFrameSize |
|
|
| kBufferTooSmall |
|
|
| kInvalidHeader |
|
|
| kCompressionFailed |
|
|
| kDecompressionFailed |
|
|
enum CryptoError
| Enumerator |
Value |
Description |
| kAesEncryptFailed |
|
|
| kAesDecryptFailed |
|
|
| kHmacFailed |
|
|
| kKdfFailed |
|
|
| kEcdhFailed |
|
|
| kInvalidKeySize |
|
|
| kInvalidIvSize |
|
|
| kInvalidPublicKey |
|
|
| kInvalidPrivateKey |
|
|
| kOpenSslError |
|
|
| kSecp256k1Error |
|
|
using Result
template <typename T >
using rlpx::Result = outcome::result<T, SessionError, outcome::policy::all_narrow>;
using AuthResult
template <typename T >
using rlpx::AuthResult = outcome::result<T, AuthError, outcome::policy::all_narrow>;
using FramingResult
template <typename T >
using rlpx::FramingResult = outcome::result<T, FramingError, outcome::policy::all_narrow>;
using CryptoResult
template <typename T >
using rlpx::CryptoResult = outcome::result<T, CryptoError, outcome::policy::all_narrow>;
using VoidResult
using rlpx::VoidResult = outcome::result<void, SessionError, outcome::policy::all_narrow>;
using AuthVoidResult
using rlpx::AuthVoidResult = outcome::result<void, AuthError, outcome::policy::all_narrow>;
using FramingVoidResult
using rlpx::FramingVoidResult = outcome::result<void, FramingError, outcome::policy::all_narrow>;
using CryptoVoidResult
using rlpx::CryptoVoidResult = outcome::result<void, CryptoError, outcome::policy::all_narrow>;
Functions Documentation
function to_string
const char * to_string(
SessionError error
)
function to_string
const char * to_string(
AuthError error
)
function to_string
const char * to_string(
FramingError error
)
function to_string
const char * to_string(
CryptoError error
)
Source code
// Copyright 2025 GeniusVentures
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <boost/outcome/result.hpp>
#include <boost/outcome/try.hpp>
#include "rlpx_types.hpp"
namespace rlpx {
namespace outcome = BOOST_OUTCOME_V2_NAMESPACE;
enum class SessionError {
kNetworkFailure,
kAuthenticationFailed,
kHandshakeFailed,
kInvalidState,
kPeerDisconnected,
kTimeout,
kCompressionError,
kEncryptionError,
kDecryptionError,
kInvalidMessage,
kInvalidFrameSize,
kBufferOverflow,
kConnectionFailed,
kNotConnected,
kDisconnected
};
enum class AuthError {
kEciesEncryptFailed,
kEciesDecryptFailed,
kInvalidAuthMessage,
kInvalidAckMessage,
kSharedSecretFailed,
kSignatureInvalid,
kKeyDerivationFailed,
kInvalidPublicKey,
kInvalidNonce
};
enum class FramingError {
kEncryptionFailed,
kDecryptionFailed,
kMacMismatch,
kInvalidFrameSize,
kBufferTooSmall,
kInvalidHeader,
kCompressionFailed,
kDecompressionFailed
};
enum class CryptoError {
kAesEncryptFailed,
kAesDecryptFailed,
kHmacFailed,
kKdfFailed,
kEcdhFailed,
kInvalidKeySize,
kInvalidIvSize,
kInvalidPublicKey,
kInvalidPrivateKey,
kOpenSslError,
kSecp256k1Error
};
template<typename T>
using Result = outcome::result<T, SessionError, outcome::policy::all_narrow>;
template<typename T>
using AuthResult = outcome::result<T, AuthError, outcome::policy::all_narrow>;
template<typename T>
using FramingResult = outcome::result<T, FramingError, outcome::policy::all_narrow>;
template<typename T>
using CryptoResult = outcome::result<T, CryptoError, outcome::policy::all_narrow>;
using VoidResult = outcome::result<void, SessionError, outcome::policy::all_narrow>;
using AuthVoidResult = outcome::result<void, AuthError, outcome::policy::all_narrow>;
using FramingVoidResult = outcome::result<void, FramingError, outcome::policy::all_narrow>;
using CryptoVoidResult = outcome::result<void, CryptoError, outcome::policy::all_narrow>;
// Error message conversion
const char* to_string(SessionError error) noexcept;
const char* to_string(AuthError error) noexcept;
const char* to_string(FramingError error) noexcept;
const char* to_string(CryptoError error) noexcept;
} // namespace rlpx
Updated on 2026-04-13 at 23:22:46 -0700