//! Defines the logging of transaction messages sent to the server reader.
use crate::logging::messages::connections::ping::PingJourney;
use crate::logging::messages::transactions::base::TransactionJourney;
use crate::messages::server::interface::ServerMessage;
use crate::messages::server::wrapper::WrappedServerMessage;

/// Logs a transaction message that the server reader has received.
///
/// # Arguments
/// * `message`: the transaction message that the server reader has received
pub fn log_server_reader_message(message: &WrappedServerMessage) {
	if let ServerMessage::Ping(_) = &message.message {
		tracing::trace!("{}", PingJourney::RecievedByServerReader.to_log(&message.connection_id));
	}

	let tx_pointer = TransactionJourney::RecievedByServerReader;
	let log = tx_pointer.from_wrapped_server_message(message);
	if log.is_some() {
		tracing::trace!("{}", log.unwrap());
	}
}
