#[repr(C)]pub struct MdApi { /* private fields */ }
Implementations§
Source§impl MdApi
impl MdApi
Sourcepub fn Init(&self)
pub fn Init(&self)
Examples found in repository?
examples/md_api.rs (line 19)
9fn main() {
10 let (tx, rx) = channel();
11 let api = Arc::new(MdApi::CreateMdApiAndSpi(
12 tx,
13 FLOW_PATH.to_string(),
14 false,
15 false,
16 true,
17 ));
18 api.RegisterFront(FRONT_ADDR.to_string());
19 api.Init();
20
21 loop {
22 let msg = rx.recv().unwrap();
23 match msg {
24 MdSpiMsg::OnFrontConnected => {
25 println!("front connected");
26 let mut req = ReqUserLoginField::default();
27 req.BrokerID = "".to_string();
28 req.UserID = "".to_string();
29 req.Password = "".to_string();
30 api.ReqUserLogin(req, 0);
31 }
32 MdSpiMsg::OnRspUserLogin(_, rsp_info, _, _) => {
33 if rsp_info.ErrorID != 0 {
34 println!("user login failed: {:?}", rsp_info);
35 continue;
36 } else {
37 println!("user login success: {:?}", rsp_info);
38 let instruments: Vec<String> =
39 INSTRUMENTS.iter().map(|&s| s.to_string()).collect();
40 let len = instruments.len() as i32;
41 api.SubscribeMarketData(instruments, len);
42 }
43 }
44 MdSpiMsg::OnRtnDepthMarketData(tick) => {
45 println!("{:?}", tick);
46 }
47 _ => {}
48 }
49 }
50}
Source§impl MdApi
impl MdApi
Sourcepub fn RegisterFront(&self, pszFrontAddress: String)
pub fn RegisterFront(&self, pszFrontAddress: String)
Examples found in repository?
examples/md_api.rs (line 18)
9fn main() {
10 let (tx, rx) = channel();
11 let api = Arc::new(MdApi::CreateMdApiAndSpi(
12 tx,
13 FLOW_PATH.to_string(),
14 false,
15 false,
16 true,
17 ));
18 api.RegisterFront(FRONT_ADDR.to_string());
19 api.Init();
20
21 loop {
22 let msg = rx.recv().unwrap();
23 match msg {
24 MdSpiMsg::OnFrontConnected => {
25 println!("front connected");
26 let mut req = ReqUserLoginField::default();
27 req.BrokerID = "".to_string();
28 req.UserID = "".to_string();
29 req.Password = "".to_string();
30 api.ReqUserLogin(req, 0);
31 }
32 MdSpiMsg::OnRspUserLogin(_, rsp_info, _, _) => {
33 if rsp_info.ErrorID != 0 {
34 println!("user login failed: {:?}", rsp_info);
35 continue;
36 } else {
37 println!("user login success: {:?}", rsp_info);
38 let instruments: Vec<String> =
39 INSTRUMENTS.iter().map(|&s| s.to_string()).collect();
40 let len = instruments.len() as i32;
41 api.SubscribeMarketData(instruments, len);
42 }
43 }
44 MdSpiMsg::OnRtnDepthMarketData(tick) => {
45 println!("{:?}", tick);
46 }
47 _ => {}
48 }
49 }
50}
Source§impl MdApi
impl MdApi
pub fn RegisterFensUserInfo(&self, pFensUserInfo: FensUserInfoField)
Source§impl MdApi
impl MdApi
Sourcepub fn SubscribeMarketData(
&self,
ppInstrumentID: Vec<String>,
nCount: i32,
) -> i32
pub fn SubscribeMarketData( &self, ppInstrumentID: Vec<String>, nCount: i32, ) -> i32
Examples found in repository?
examples/md_api.rs (line 41)
9fn main() {
10 let (tx, rx) = channel();
11 let api = Arc::new(MdApi::CreateMdApiAndSpi(
12 tx,
13 FLOW_PATH.to_string(),
14 false,
15 false,
16 true,
17 ));
18 api.RegisterFront(FRONT_ADDR.to_string());
19 api.Init();
20
21 loop {
22 let msg = rx.recv().unwrap();
23 match msg {
24 MdSpiMsg::OnFrontConnected => {
25 println!("front connected");
26 let mut req = ReqUserLoginField::default();
27 req.BrokerID = "".to_string();
28 req.UserID = "".to_string();
29 req.Password = "".to_string();
30 api.ReqUserLogin(req, 0);
31 }
32 MdSpiMsg::OnRspUserLogin(_, rsp_info, _, _) => {
33 if rsp_info.ErrorID != 0 {
34 println!("user login failed: {:?}", rsp_info);
35 continue;
36 } else {
37 println!("user login success: {:?}", rsp_info);
38 let instruments: Vec<String> =
39 INSTRUMENTS.iter().map(|&s| s.to_string()).collect();
40 let len = instruments.len() as i32;
41 api.SubscribeMarketData(instruments, len);
42 }
43 }
44 MdSpiMsg::OnRtnDepthMarketData(tick) => {
45 println!("{:?}", tick);
46 }
47 _ => {}
48 }
49 }
50}
Source§impl MdApi
impl MdApi
Sourcepub fn ReqUserLogin(
&self,
pReqUserLoginField: ReqUserLoginField,
nRequestID: i32,
) -> i32
pub fn ReqUserLogin( &self, pReqUserLoginField: ReqUserLoginField, nRequestID: i32, ) -> i32
Examples found in repository?
examples/md_api.rs (line 30)
9fn main() {
10 let (tx, rx) = channel();
11 let api = Arc::new(MdApi::CreateMdApiAndSpi(
12 tx,
13 FLOW_PATH.to_string(),
14 false,
15 false,
16 true,
17 ));
18 api.RegisterFront(FRONT_ADDR.to_string());
19 api.Init();
20
21 loop {
22 let msg = rx.recv().unwrap();
23 match msg {
24 MdSpiMsg::OnFrontConnected => {
25 println!("front connected");
26 let mut req = ReqUserLoginField::default();
27 req.BrokerID = "".to_string();
28 req.UserID = "".to_string();
29 req.Password = "".to_string();
30 api.ReqUserLogin(req, 0);
31 }
32 MdSpiMsg::OnRspUserLogin(_, rsp_info, _, _) => {
33 if rsp_info.ErrorID != 0 {
34 println!("user login failed: {:?}", rsp_info);
35 continue;
36 } else {
37 println!("user login success: {:?}", rsp_info);
38 let instruments: Vec<String> =
39 INSTRUMENTS.iter().map(|&s| s.to_string()).collect();
40 let len = instruments.len() as i32;
41 api.SubscribeMarketData(instruments, len);
42 }
43 }
44 MdSpiMsg::OnRtnDepthMarketData(tick) => {
45 println!("{:?}", tick);
46 }
47 _ => {}
48 }
49 }
50}
Source§impl MdApi
impl MdApi
pub fn ReqUserLogout( &self, pUserLogout: UserLogoutField, nRequestID: i32, ) -> i32
Source§impl MdApi
impl MdApi
pub fn ReqQryMulticastInstrument( &self, pQryMulticastInstrument: QryMulticastInstrumentField, nRequestID: i32, ) -> i32
Source§impl MdApi
impl MdApi
Sourcepub fn CreateMdApiAndSpi(
tx: Sender<MdSpiMsg>,
flow_path: String,
is_using_udp: bool,
is_multicast: bool,
is_production_mode: bool,
) -> UniquePtr<MdApi>
pub fn CreateMdApiAndSpi( tx: Sender<MdSpiMsg>, flow_path: String, is_using_udp: bool, is_multicast: bool, is_production_mode: bool, ) -> UniquePtr<MdApi>
Examples found in repository?
examples/md_api.rs (lines 11-17)
9fn main() {
10 let (tx, rx) = channel();
11 let api = Arc::new(MdApi::CreateMdApiAndSpi(
12 tx,
13 FLOW_PATH.to_string(),
14 false,
15 false,
16 true,
17 ));
18 api.RegisterFront(FRONT_ADDR.to_string());
19 api.Init();
20
21 loop {
22 let msg = rx.recv().unwrap();
23 match msg {
24 MdSpiMsg::OnFrontConnected => {
25 println!("front connected");
26 let mut req = ReqUserLoginField::default();
27 req.BrokerID = "".to_string();
28 req.UserID = "".to_string();
29 req.Password = "".to_string();
30 api.ReqUserLogin(req, 0);
31 }
32 MdSpiMsg::OnRspUserLogin(_, rsp_info, _, _) => {
33 if rsp_info.ErrorID != 0 {
34 println!("user login failed: {:?}", rsp_info);
35 continue;
36 } else {
37 println!("user login success: {:?}", rsp_info);
38 let instruments: Vec<String> =
39 INSTRUMENTS.iter().map(|&s| s.to_string()).collect();
40 let len = instruments.len() as i32;
41 api.SubscribeMarketData(instruments, len);
42 }
43 }
44 MdSpiMsg::OnRtnDepthMarketData(tick) => {
45 println!("{:?}", tick);
46 }
47 _ => {}
48 }
49 }
50}
Trait Implementations§
Source§impl ExternType for MdApi
impl ExternType for MdApi
impl Send for MdApi
impl Sync for MdApi
impl UniquePtrTarget for MdApi
Auto Trait Implementations§
impl !Freeze for MdApi
impl RefUnwindSafe for MdApi
impl !Unpin for MdApi
impl UnwindSafe for MdApi
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