pub enum ArrowIpcTypes {
UserInitData,
Details,
Stats,
Upgrades,
UnitBorn,
UnitDied,
MessageEvents,
CmdTargetPoint,
CmdTargetUnit,
All,
}Expand description
The supported Arrow IPC types
Variants§
UserInitData
Writes the crate::init_data::UserInitDataFlatRow flat row to an Arrow IPC file
Details
Writes the crate::details::PlayerLobbyDetailsFlatRow flat row to an Arrow IPC file
Stats
Writes the crate::tracker_events::PlayerStatsEvent to an Arrow IPC file
Upgrades
Writes the crate::tracker_events::UpgradeEvent to an Arrow IPC file
UnitBorn
Writes the crate::tracker_events::UnitBornEvent to an Arrow IPC file
UnitDied
Writes the crate::tracker_events::UnitDiedEvent to an Arrow IPC file
MessageEvents
Writes the crate::message_events::MessageEvent to an Arrow IPC file
CmdTargetPoint
Writes the crate::game_events::CmdTargetPointEventFlatRow to an Arrow IPC file
CmdTargetUnit
Writes the crate::game_events::CmdTargetUnitEventFlatRow to an Arrow IPC file
All
Writes all the implemented flat row types to Arrow IPC files inside the output directory
Implementations§
Source§impl ArrowIpcTypes
impl ArrowIpcTypes
Sourcepub fn handle_write_snapshot(
sources: Vec<InitData>,
output: PathBuf,
unit_abilities: &HashMap<(u32, String), VersionedBalanceUnit>,
serially: bool,
) -> Result<(), Box<dyn Error>>
pub fn handle_write_snapshot( sources: Vec<InitData>, output: PathBuf, unit_abilities: &HashMap<(u32, String), VersionedBalanceUnit>, serially: bool, ) -> Result<(), Box<dyn Error>>
Writes a snapshot of the replay collection. A snapshot is a collection of generated files that work together. The consistency of the files is not yet implemented. But the files should have been generated at around the same time. If one file lags behind, it may be from an incomplete data generation. i.e. this function is called but it errors in the middle and no retries/fixes are done. Two things todo: First delete all the files in the snapshot directory. Add a snashopt generation timestamp and when reads are done, they are checked for very basic timestamp write consistency.
Sourcepub fn handle_tracker_events(
&self,
sources: Vec<InitData>,
output: PathBuf,
versioned_abilities: &HashMap<(u32, String), VersionedBalanceUnit>,
serially: bool,
) -> Result<(), Box<dyn Error>>
pub fn handle_tracker_events( &self, sources: Vec<InitData>, output: PathBuf, versioned_abilities: &HashMap<(u32, String), VersionedBalanceUnit>, serially: bool, ) -> Result<(), Box<dyn Error>>
Creates a new Arrow IPC file with the tracker events data This seems to be small enough to not need to be chunked and is done in parallel This requires 1.5GB of RAM for 3600 files, so maybe not good for real players.
Sourcepub fn handle_game_events(
&self,
sources: Vec<InitData>,
output: PathBuf,
versioned_abilities: &HashMap<(u32, String), VersionedBalanceUnit>,
serially: bool,
) -> Result<(), Box<dyn Error>>
pub fn handle_game_events( &self, sources: Vec<InitData>, output: PathBuf, versioned_abilities: &HashMap<(u32, String), VersionedBalanceUnit>, serially: bool, ) -> Result<(), Box<dyn Error>>
Creates a new Arrow IPC file with the game events data This requires 1.5GB of RAM for 3600 files, so maybe not good for real players.
Sourcepub fn handle_read_once_write_all(
&self,
sources: Vec<InitData>,
output: PathBuf,
) -> Result<(), Box<dyn Error>>
pub fn handle_read_once_write_all( &self, sources: Vec<InitData>, output: PathBuf, ) -> Result<(), Box<dyn Error>>
Creates a new Arrow IPC file with the details data
Sourcepub fn handle_details_ipc_cmd(
&self,
sources: Vec<InitData>,
output: PathBuf,
) -> Result<(), Box<dyn Error>>
pub fn handle_details_ipc_cmd( &self, sources: Vec<InitData>, output: PathBuf, ) -> Result<(), Box<dyn Error>>
Creates a new Arrow IPC file with the details data
Sourcepub fn handle_arrow_ipc_cmd(
source: PathBuf,
output: PathBuf,
cmd: &WriteArrowIpcProps,
unit_abilities: &HashMap<(u32, String), VersionedBalanceUnit>,
serially: bool,
) -> Result<(), Box<dyn Error>>
pub fn handle_arrow_ipc_cmd( source: PathBuf, output: PathBuf, cmd: &WriteArrowIpcProps, unit_abilities: &HashMap<(u32, String), VersionedBalanceUnit>, serially: bool, ) -> Result<(), Box<dyn Error>>
Handles the Arrow IPC command variants
Trait Implementations§
Source§impl Clone for ArrowIpcTypes
impl Clone for ArrowIpcTypes
Source§fn clone(&self) -> ArrowIpcTypes
fn clone(&self) -> ArrowIpcTypes
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ArrowIpcTypes
impl Debug for ArrowIpcTypes
Source§impl FromArgMatches for ArrowIpcTypes
impl FromArgMatches for ArrowIpcTypes
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for ArrowIpcTypes
impl Subcommand for ArrowIpcTypes
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for ArrowIpcTypes
impl RefUnwindSafe for ArrowIpcTypes
impl Send for ArrowIpcTypes
impl Sync for ArrowIpcTypes
impl Unpin for ArrowIpcTypes
impl UnsafeUnpin for ArrowIpcTypes
impl UnwindSafe for ArrowIpcTypes
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more