rlpx/rlpx_error.cpp
Namespaces
Functions
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
#include <rlpx/rlpx_error.hpp>
namespace rlpx {
const char* to_string(SessionError error) noexcept {
switch (error) {
case SessionError::kNetworkFailure: return "Network failure";
case SessionError::kAuthenticationFailed: return "Authentication failed";
case SessionError::kHandshakeFailed: return "Handshake failed";
case SessionError::kInvalidState: return "Invalid state";
case SessionError::kPeerDisconnected: return "Peer disconnected";
case SessionError::kTimeout: return "Timeout";
case SessionError::kCompressionError: return "Compression error";
case SessionError::kEncryptionError: return "Encryption error";
case SessionError::kDecryptionError: return "Decryption error";
case SessionError::kInvalidMessage: return "Invalid message";
case SessionError::kInvalidFrameSize: return "Invalid frame size";
case SessionError::kBufferOverflow: return "Buffer overflow";
default: return "Unknown error";
}
}
const char* to_string(AuthError error) noexcept {
switch (error) {
case AuthError::kEciesEncryptFailed: return "ECIES encryption failed";
case AuthError::kEciesDecryptFailed: return "ECIES decryption failed";
case AuthError::kInvalidAuthMessage: return "Invalid auth message";
case AuthError::kInvalidAckMessage: return "Invalid ack message";
case AuthError::kSharedSecretFailed: return "Shared secret computation failed";
case AuthError::kSignatureInvalid: return "Invalid signature";
case AuthError::kKeyDerivationFailed: return "Key derivation failed";
case AuthError::kInvalidPublicKey: return "Invalid public key";
case AuthError::kInvalidNonce: return "Invalid nonce";
default: return "Unknown auth error";
}
}
const char* to_string(FramingError error) noexcept {
switch (error) {
case FramingError::kEncryptionFailed: return "Frame encryption failed";
case FramingError::kDecryptionFailed: return "Frame decryption failed";
case FramingError::kMacMismatch: return "MAC mismatch";
case FramingError::kInvalidFrameSize: return "Invalid frame size";
case FramingError::kBufferTooSmall: return "Buffer too small";
case FramingError::kInvalidHeader: return "Invalid header";
case FramingError::kCompressionFailed: return "Compression failed";
case FramingError::kDecompressionFailed: return "Decompression failed";
default: return "Unknown framing error";
}
}
const char* to_string(CryptoError error) noexcept {
switch (error) {
case CryptoError::kAesEncryptFailed: return "AES encryption failed";
case CryptoError::kAesDecryptFailed: return "AES decryption failed";
case CryptoError::kHmacFailed: return "HMAC computation failed";
case CryptoError::kKdfFailed: return "Key derivation failed";
case CryptoError::kEcdhFailed: return "ECDH computation failed";
case CryptoError::kInvalidKeySize: return "Invalid key size";
case CryptoError::kInvalidIvSize: return "Invalid IV size";
case CryptoError::kInvalidPublicKey: return "Invalid public key";
case CryptoError::kInvalidPrivateKey: return "Invalid private key";
case CryptoError::kOpenSslError: return "OpenSSL error";
case CryptoError::kSecp256k1Error: return "secp256k1 error";
default: return "Unknown crypto error";
}
}
} // namespace rlpx
Updated on 2026-04-13 at 23:22:46 -0700