Skip to content

Commit

Permalink
refactor account summmary
Browse files Browse the repository at this point in the history
  • Loading branch information
Wil Boayue committed Oct 13, 2024
1 parent 45df44b commit 17a83cf
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
6 changes: 3 additions & 3 deletions examples/account_summary.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use ibapi::accounts::{AccountSummaryTags, AccountUpdate};
use ibapi::accounts::{AccountSummaries, AccountSummaryTags};
use ibapi::Client;

fn main() {
Expand All @@ -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"),
}
}
}
14 changes: 7 additions & 7 deletions src/accounts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,24 +99,24 @@ impl AccountSummaryTags {
}

#[derive(Debug)]
pub enum AccountUpdate {
pub enum AccountSummaries {
Summary(AccountSummary),
End,
}

impl From<AccountSummary> for AccountUpdate {
impl From<AccountSummary> for AccountSummaries {
fn from(val: AccountSummary) -> Self {
AccountUpdate::Summary(val)
AccountSummaries::Summary(val)
}
}

impl Subscribable<AccountUpdate> for AccountUpdate {
impl Subscribable<AccountSummaries> for AccountSummaries {
const RESPONSE_MESSAGE_IDS: &[IncomingMessages] = &[IncomingMessages::AccountSummary, IncomingMessages::AccountSummaryEnd];

fn decode(server_version: i32, message: &mut ResponseMessage) -> Result<Self, Error> {
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:?}"))),
}
}
Expand Down Expand Up @@ -374,7 +374,7 @@ pub(crate) fn pnl_single<'a>(
})
}

pub fn account_summary<'a>(client: &'a Client, group: &str, tags: &[&str]) -> Result<Subscription<'a, AccountUpdate>, Error> {
pub fn account_summary<'a>(client: &'a Client, group: &str, tags: &[&str]) -> Result<Subscription<'a, AccountSummaries>, Error> {
client.check_server_version(server_versions::ACCOUNT_SUMMARY, "It does not support account summary requests.")?;

let request_id = client.next_request_id();
Expand Down
4 changes: 2 additions & 2 deletions src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -326,7 +326,7 @@ impl Client {
/// println!("{summary:?}")
/// }
/// ```
pub fn account_summary<'a>(&'a self, group: &str, tags: &[&str]) -> Result<Subscription<'a, AccountUpdate>, Error> {
pub fn account_summary<'a>(&'a self, group: &str, tags: &[&str]) -> Result<Subscription<'a, AccountSummaries>, Error> {
accounts::account_summary(self, group, tags)
}

Expand Down

0 comments on commit 17a83cf

Please sign in to comment.