pub struct Board { /* private fields */ }Expand description
Режим торгов MOEX (boards).
Implementations§
Source§impl Board
impl Board
Sourcepub fn try_new(
id: i64,
board_group_id: i64,
boardid: String,
title: String,
is_traded: i64,
) -> Result<Self, ParseBoardError>
pub fn try_new( id: i64, board_group_id: i64, boardid: String, title: String, is_traded: i64, ) -> Result<Self, ParseBoardError>
Построить режим торгов из wire-значений ISS с валидацией инвариантов.
Sourcepub fn board_group_id(&self) -> u32
pub fn board_group_id(&self) -> u32
Идентификатор группы board.
Sourcepub fn boardid(&self) -> &BoardId
pub fn boardid(&self) -> &BoardId
Символьный идентификатор режима торгов (boardid).
Examples found in repository?
examples/actual_indexes_dump.rs (line 120)
100fn load_security_snapshots(
101 moex_client: &Client,
102 wanted_secids: &HashSet<SecId>,
103) -> Result<(HashMap<SecId, ResolvedSnapshot>, Vec<SecId>), ExampleError> {
104 let stock_scope = moex_client
105 .stock()
106 .expect("stock engine literal must be valid");
107 let markets = with_retry(retry_policy(), || stock_scope.markets())?;
108 let mut snapshots = HashMap::with_capacity(wanted_secids.len());
109
110 'markets: for market in markets {
111 let boards = with_retry(retry_policy(), || {
112 moex_client.boards(stock_scope.engine(), market.name())
113 })?;
114
115 for board in boards.into_iter().filter(|board| board.is_traded()) {
116 let board_snapshots = load_board_snapshots_all_pages(
117 moex_client,
118 stock_scope.engine().as_str(),
119 market.name().as_str(),
120 board.boardid().as_str(),
121 )?;
122
123 for snapshot in board_snapshots {
124 if !wanted_secids.contains(snapshot.secid()) {
125 continue;
126 }
127
128 snapshots
129 .entry(snapshot.secid().clone())
130 .or_insert_with(|| ResolvedSnapshot {
131 market: market.name().as_str().to_owned().into_boxed_str(),
132 board: board.boardid().as_str().to_owned().into_boxed_str(),
133 lot_size: snapshot.lot_size(),
134 last: snapshot.last(),
135 });
136 }
137
138 if snapshots.len() == wanted_secids.len() {
139 break 'markets;
140 }
141 }
142 }
143
144 let missing_mapping = wanted_secids
145 .iter()
146 .filter(|secid| !snapshots.contains_key(*secid))
147 .cloned()
148 .collect();
149
150 Ok((snapshots, missing_mapping))
151}Sourcepub fn is_traded(&self) -> bool
pub fn is_traded(&self) -> bool
Признак, что режим предназначен для торгов (1 в ISS).
Examples found in repository?
examples/actual_indexes_dump.rs (line 115)
100fn load_security_snapshots(
101 moex_client: &Client,
102 wanted_secids: &HashSet<SecId>,
103) -> Result<(HashMap<SecId, ResolvedSnapshot>, Vec<SecId>), ExampleError> {
104 let stock_scope = moex_client
105 .stock()
106 .expect("stock engine literal must be valid");
107 let markets = with_retry(retry_policy(), || stock_scope.markets())?;
108 let mut snapshots = HashMap::with_capacity(wanted_secids.len());
109
110 'markets: for market in markets {
111 let boards = with_retry(retry_policy(), || {
112 moex_client.boards(stock_scope.engine(), market.name())
113 })?;
114
115 for board in boards.into_iter().filter(|board| board.is_traded()) {
116 let board_snapshots = load_board_snapshots_all_pages(
117 moex_client,
118 stock_scope.engine().as_str(),
119 market.name().as_str(),
120 board.boardid().as_str(),
121 )?;
122
123 for snapshot in board_snapshots {
124 if !wanted_secids.contains(snapshot.secid()) {
125 continue;
126 }
127
128 snapshots
129 .entry(snapshot.secid().clone())
130 .or_insert_with(|| ResolvedSnapshot {
131 market: market.name().as_str().to_owned().into_boxed_str(),
132 board: board.boardid().as_str().to_owned().into_boxed_str(),
133 lot_size: snapshot.lot_size(),
134 last: snapshot.last(),
135 });
136 }
137
138 if snapshots.len() == wanted_secids.len() {
139 break 'markets;
140 }
141 }
142 }
143
144 let missing_mapping = wanted_secids
145 .iter()
146 .filter(|secid| !snapshots.contains_key(*secid))
147 .cloned()
148 .collect();
149
150 Ok((snapshots, missing_mapping))
151}Trait Implementations§
impl Eq for Board
impl StructuralPartialEq for Board
Auto Trait Implementations§
impl Freeze for Board
impl RefUnwindSafe for Board
impl Send for Board
impl Sync for Board
impl Unpin for Board
impl UnsafeUnpin for Board
impl UnwindSafe for Board
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