From 17a83cf01bc7773089049ff6a93860209c54db7c Mon Sep 17 00:00:00 2001 From: Wil Boayue Date: Sat, 12 Oct 2024 21:28:03 -0700 Subject: [PATCH] refactor account summmary --- examples/account_summary.rs | 6 +++--- src/accounts.rs | 14 +++++++------- src/client.rs | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/account_summary.rs b/examples/account_summary.rs index a82c094f..321de0d6 100644 --- a/examples/account_summary.rs +++ b/examples/account_summary.rs @@ -1,4 +1,4 @@ -use ibapi::accounts::{AccountSummaryTags, AccountUpdate}; +use ibapi::accounts::{AccountSummaries, AccountSummaryTags}; use ibapi::Client; fn main() { @@ -11,8 +11,8 @@ fn main() { .expect("error requesting account summary"); for update in &subscription { match update { - AccountUpdate::Summary(summary) => println!("{summary:?}"), - AccountUpdate::End => subscription.cancel().expect("cancel failed"), + AccountSummaries::Summary(summary) => println!("{summary:?}"), + AccountSummaries::End => subscription.cancel().expect("cancel failed"), } } } diff --git a/src/accounts.rs b/src/accounts.rs index f6a1aa8b..f65659b4 100644 --- a/src/accounts.rs +++ b/src/accounts.rs @@ -99,24 +99,24 @@ impl AccountSummaryTags { } #[derive(Debug)] -pub enum AccountUpdate { +pub enum AccountSummaries { Summary(AccountSummary), End, } -impl From for AccountUpdate { +impl From for AccountSummaries { fn from(val: AccountSummary) -> Self { - AccountUpdate::Summary(val) + AccountSummaries::Summary(val) } } -impl Subscribable for AccountUpdate { +impl Subscribable for AccountSummaries { const RESPONSE_MESSAGE_IDS: &[IncomingMessages] = &[IncomingMessages::AccountSummary, IncomingMessages::AccountSummaryEnd]; fn decode(server_version: i32, message: &mut ResponseMessage) -> Result { match message.message_type() { - IncomingMessages::AccountSummary => Ok(AccountUpdate::Summary(decoders::decode_account_summary(server_version, message)?)), - IncomingMessages::AccountSummaryEnd => Ok(AccountUpdate::End), + IncomingMessages::AccountSummary => Ok(AccountSummaries::Summary(decoders::decode_account_summary(server_version, message)?)), + IncomingMessages::AccountSummaryEnd => Ok(AccountSummaries::End), message => Err(Error::Simple(format!("unexpected message: {message:?}"))), } } @@ -374,7 +374,7 @@ pub(crate) fn pnl_single<'a>( }) } -pub fn account_summary<'a>(client: &'a Client, group: &str, tags: &[&str]) -> Result, Error> { +pub fn account_summary<'a>(client: &'a Client, group: &str, tags: &[&str]) -> Result, Error> { client.check_server_version(server_versions::ACCOUNT_SUMMARY, "It does not support account summary requests.")?; let request_id = client.next_request_id(); diff --git a/src/client.rs b/src/client.rs index f3ca5c9f..6a6649c4 100644 --- a/src/client.rs +++ b/src/client.rs @@ -11,7 +11,7 @@ use time::macros::format_description; use time::OffsetDateTime; use time_tz::{timezones, OffsetResult, PrimitiveDateTimeExt, Tz}; -use crate::accounts::{AccountUpdate, FamilyCode, PnL, PnLSingle, PositionUpdate, PositionUpdateMulti}; +use crate::accounts::{AccountSummaries, FamilyCode, PnL, PnLSingle, PositionUpdate, PositionUpdateMulti}; use crate::contracts::Contract; use crate::errors::Error; use crate::market_data::historical; @@ -326,7 +326,7 @@ impl Client { /// println!("{summary:?}") /// } /// ``` - pub fn account_summary<'a>(&'a self, group: &str, tags: &[&str]) -> Result, Error> { + pub fn account_summary<'a>(&'a self, group: &str, tags: &[&str]) -> Result, Error> { accounts::account_summary(self, group, tags) }