pub struct Client { /* private fields */ }Implementations§
Source§impl Client
impl Client
Sourcepub fn new(address: &str, client_id: i32) -> Self
pub fn new(address: &str, client_id: i32) -> Self
Examples found in repository?
examples/historical_bars.rs (line 17)
15async fn main() -> Result<(), Error> {
16 tracing_subscriber::fmt().init();
17 let mut client = Client::new("127.0.0.1:14001", 4322);
18 let client_ref = client.connect().await?;
19
20 tokio::spawn(async move {
21 sleep(Duration::from_secs(5)).await;
22 let now = Instant::now();
23 let (bars, mut stream) = historical_data(
24 &client_ref,
25 &Contract::stock("TSLA"),
26 None,
27 TWSDuration::days(3),
28 BarSize::Min3,
29 Some(WhatToShow::Trades),
30 true,
31 true,
32 )
33 .await
34 .unwrap();
35 info!("cost {:?}, bars: {:?}", now.elapsed(), bars);//&bars.bars[..3]);
36
37 while let Some(e) = stream.next().await {
38 info!("msg {:?}", e);
39 }
40 });
41 let local = LocalSet::new();
42 let res = local
43 .run_until(async move {
44 client.blocking_process().await?;
45 sleep(Duration::from_secs(5)).await;
46 Result::<(), Error>::Ok(())
47 })
48 .await;
49 info!("{:?}", res);
50 Ok(())
51}Sourcepub async fn connect(&mut self) -> Result<ClientRef, Error>
pub async fn connect(&mut self) -> Result<ClientRef, Error>
Examples found in repository?
examples/historical_bars.rs (line 18)
15async fn main() -> Result<(), Error> {
16 tracing_subscriber::fmt().init();
17 let mut client = Client::new("127.0.0.1:14001", 4322);
18 let client_ref = client.connect().await?;
19
20 tokio::spawn(async move {
21 sleep(Duration::from_secs(5)).await;
22 let now = Instant::now();
23 let (bars, mut stream) = historical_data(
24 &client_ref,
25 &Contract::stock("TSLA"),
26 None,
27 TWSDuration::days(3),
28 BarSize::Min3,
29 Some(WhatToShow::Trades),
30 true,
31 true,
32 )
33 .await
34 .unwrap();
35 info!("cost {:?}, bars: {:?}", now.elapsed(), bars);//&bars.bars[..3]);
36
37 while let Some(e) = stream.next().await {
38 info!("msg {:?}", e);
39 }
40 });
41 let local = LocalSet::new();
42 let res = local
43 .run_until(async move {
44 client.blocking_process().await?;
45 sleep(Duration::from_secs(5)).await;
46 Result::<(), Error>::Ok(())
47 })
48 .await;
49 info!("{:?}", res);
50 Ok(())
51}Sourcepub async fn blocking_process(&mut self) -> Result<(), Error>
pub async fn blocking_process(&mut self) -> Result<(), Error>
Examples found in repository?
examples/historical_bars.rs (line 44)
15async fn main() -> Result<(), Error> {
16 tracing_subscriber::fmt().init();
17 let mut client = Client::new("127.0.0.1:14001", 4322);
18 let client_ref = client.connect().await?;
19
20 tokio::spawn(async move {
21 sleep(Duration::from_secs(5)).await;
22 let now = Instant::now();
23 let (bars, mut stream) = historical_data(
24 &client_ref,
25 &Contract::stock("TSLA"),
26 None,
27 TWSDuration::days(3),
28 BarSize::Min3,
29 Some(WhatToShow::Trades),
30 true,
31 true,
32 )
33 .await
34 .unwrap();
35 info!("cost {:?}, bars: {:?}", now.elapsed(), bars);//&bars.bars[..3]);
36
37 while let Some(e) = stream.next().await {
38 info!("msg {:?}", e);
39 }
40 });
41 let local = LocalSet::new();
42 let res = local
43 .run_until(async move {
44 client.blocking_process().await?;
45 sleep(Duration::from_secs(5)).await;
46 Result::<(), Error>::Ok(())
47 })
48 .await;
49 info!("{:?}", res);
50 Ok(())
51}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl !Send for Client
impl !Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more