simple refactoring

This commit is contained in:
GroovieGermanikus 2024-06-07 13:23:57 +02:00
parent 292b8f7770
commit e91d9fc986
No known key found for this signature in database
GPG Key ID: 5B6EB831A5CD2015
2 changed files with 20 additions and 18 deletions

View File

@ -1,8 +1,9 @@
mod rpcnode_define_checks; mod rpcnode_define_checks;
use enum_iterator::Sequence;
use gethostname::gethostname; use gethostname::gethostname;
use itertools::Itertools; use itertools::Itertools;
use rpcnode_define_checks::Check;
use rpcnode_define_checks::CheckResult;
use serde_json::{json, Value}; use serde_json::{json, Value};
use std::collections::HashMap; use std::collections::HashMap;
use std::process::{exit, ExitCode}; use std::process::{exit, ExitCode};
@ -12,22 +13,6 @@ use tracing::{debug, error, info, warn};
const TASK_TIMEOUT: Duration = Duration::from_millis(15000); const TASK_TIMEOUT: Duration = Duration::from_millis(15000);
enum CheckResult {
Success(Check),
Timeout(Check),
}
#[derive(Clone, Debug, PartialEq, Sequence)]
enum Check {
RpcGpa,
RpcTokenAccouns,
RpcGsfa,
RpcGetAccountInfo,
GeyserAllAccounts,
GeyserTokenAccount,
WebsocketAccount,
}
async fn send_webook_discord(discord_body: Value) { async fn send_webook_discord(discord_body: Value) {
let Ok(url) = std::env::var("DISCORD_WEBHOOK") else { let Ok(url) = std::env::var("DISCORD_WEBHOOK") else {
info!("sending to discord is disabled"); info!("sending to discord is disabled");

View File

@ -1,5 +1,6 @@
use crate::{Check, CheckResult, TASK_TIMEOUT}; use crate::TASK_TIMEOUT;
use anyhow::Context; use anyhow::Context;
use enum_iterator::Sequence;
use futures_util::{FutureExt, StreamExt}; use futures_util::{FutureExt, StreamExt};
use geyser_grpc_connector::grpc_subscription_autoreconnect_streams::create_geyser_reconnecting_stream; use geyser_grpc_connector::grpc_subscription_autoreconnect_streams::create_geyser_reconnecting_stream;
use geyser_grpc_connector::{GrpcConnectionTimeouts, GrpcSourceConfig, Message}; use geyser_grpc_connector::{GrpcConnectionTimeouts, GrpcSourceConfig, Message};
@ -26,6 +27,22 @@ use websocket_tungstenite_retry::websocket_stable::{StableWebSocket, WsMessage};
use yellowstone_grpc_proto::geyser::subscribe_update::UpdateOneof; use yellowstone_grpc_proto::geyser::subscribe_update::UpdateOneof;
use yellowstone_grpc_proto::geyser::{SubscribeRequest, SubscribeRequestFilterAccounts}; use yellowstone_grpc_proto::geyser::{SubscribeRequest, SubscribeRequestFilterAccounts};
#[derive(Clone, Debug, PartialEq, Sequence)]
pub enum Check {
RpcGpa,
RpcTokenAccouns,
RpcGsfa,
RpcGetAccountInfo,
GeyserAllAccounts,
GeyserTokenAccount,
WebsocketAccount,
}
pub enum CheckResult {
Success(Check),
Timeout(Check),
}
pub fn define_checks(checks_enabled: &[Check], all_check_tasks: &mut JoinSet<CheckResult>) { pub fn define_checks(checks_enabled: &[Check], all_check_tasks: &mut JoinSet<CheckResult>) {
if checks_enabled.contains(&Check::RpcGpa) { if checks_enabled.contains(&Check::RpcGpa) {
let rpc_client = read_rpc_config(); let rpc_client = read_rpc_config();