abstreet/rustdoc/abstio/index.html
2022-04-21 11:49:03 +00:00

43 lines
18 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A/B Street organizes data files in a particular way. This crate implements methods to find files and (mostly) treat them the same way on native and web."><meta name="keywords" content="rust, rustlang, rust-lang, abstio"><title>abstio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><script defer src="../main.js"></script>
<noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../abstio/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../abstio/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Crate abstio</a></h2><div class="sidebar-elems"><div class="block"><ul><li class="version">Version 0.1.0</li><li><a id="all-types" href="all.html">All Items</a></li></div></ul><section><div class="block"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div></section><div id="sidebar-vars" data-name="abstio" data-ty="mod" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../abstio/index.html"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Crate <a class="mod" href="#">abstio</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../src/abstio/lib.rs.html#1-40">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A/B Street organizes data files <a href="https://a-b-street.github.io/docs/tech/dev/data.html">in a particular
way</a>. This crate implements methods to
find files and (mostly) treat them the same way on native and web.</p>
</div></details><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="abst_data/index.html" title="abstio::abst_data mod">abst_data</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="abst_paths/index.html" title="abstio::abst_paths mod">abst_paths</a></div><div class="item-right docblock-short"><p>Generate paths for different A/B Street files</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="download/index.html" title="abstio::download mod">download</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="http/index.html" title="abstio::http mod">http</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="io/index.html" title="abstio::io mod">io</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="io_native/index.html" title="abstio::io_native mod">io_native</a></div><div class="item-right docblock-short"><p>Normal file IO using the filesystem</p>
</div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.CityName.html" title="abstio::CityName struct">CityName</a></div><div class="item-right docblock-short"><p>A single city is identified using this.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DataPacks.html" title="abstio::DataPacks struct">DataPacks</a></div><div class="item-right docblock-short"><p>Player-chosen groups of files to opt into downloading</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Entry.html" title="abstio::Entry struct">Entry</a></div><div class="item-right docblock-short"><p>A single file</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.FileWithProgress.html" title="abstio::FileWithProgress struct">FileWithProgress</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Manifest.html" title="abstio::Manifest struct">Manifest</a></div><div class="item-right docblock-short"><p>A list of all canonical data files for A/B Street thatre uploaded somewhere. The file formats
are tied to the latest version of the git repo. Players use the updater crate to sync these
files with local copies.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.MapName.html" title="abstio::MapName struct">MapName</a></div><div class="item-right docblock-short"><p>A single map is identified using this.</p>
</div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.delete_file.html" title="abstio::delete_file fn">delete_file</a></div><div class="item-right docblock-short"><p>Idempotent</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.download_bytes.html" title="abstio::download_bytes fn">download_bytes</a></div><div class="item-right docblock-short"><p>Downloads bytes from a URL. This must be called with a tokio runtime somewhere. The caller
creates an mpsc channel pair and provides the sender. Progress will be described through it.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.download_to_file.html" title="abstio::download_to_file fn">download_to_file</a></div><div class="item-right docblock-short"><p>Download a file from a URL. This must be called with a tokio runtime somewhere. Progress will
be printed to STDOUT.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.file_exists.html" title="abstio::file_exists fn">file_exists</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.find_next_file.html" title="abstio::find_next_file fn">find_next_file</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.find_prev_file.html" title="abstio::find_prev_file fn">find_prev_file</a></div><div class="item-right docblock-short"><p>Keeps file extensions</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.http_get.html" title="abstio::http_get fn">http_get</a></div><div class="item-right docblock-short"><p>Performs an HTTP GET request and returns the raw response. Unlike the variations in
download.rs, no progress but it works on native and web.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.http_post.html" title="abstio::http_post fn">http_post</a></div><div class="item-right docblock-short"><p>Performs an HTTP POST request and returns the response.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.list_all_objects.html" title="abstio::list_all_objects fn">list_all_objects</a></div><div class="item-right docblock-short"><p>Just list all things from a directory, return sorted by name, with file extension removed.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.list_dir.html" title="abstio::list_dir fn">list_dir</a></div><div class="item-right docblock-short"><p>Returns full paths</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.load_all_objects.html" title="abstio::load_all_objects fn">load_all_objects</a></div><div class="item-right docblock-short"><p>Load all serialized things from a directory, return sorted by name, with file extension removed.
Detects JSON or binary. Filters out broken files.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.maybe_read_binary.html" title="abstio::maybe_read_binary fn">maybe_read_binary</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.maybe_read_json.html" title="abstio::maybe_read_json fn">maybe_read_json</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.must_read_object.html" title="abstio::must_read_object fn">must_read_object</a></div><div class="item-right docblock-short"><p>May be a JSON or binary file. Panics on failure.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.parse_scenario_path.html" title="abstio::parse_scenario_path fn">parse_scenario_path</a></div><div class="item-right docblock-short"><p>Extract the map and scenario name from a path. Crashes if the input is strange.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path.html" title="abstio::path fn">path</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_all_edits.html" title="abstio::path_all_edits fn">path_all_edits</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_all_ltn_proposals.html" title="abstio::path_all_ltn_proposals fn">path_all_ltn_proposals</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_all_saves.html" title="abstio::path_all_saves fn">path_all_saves</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_all_scenarios.html" title="abstio::path_all_scenarios fn">path_all_scenarios</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_camera_state.html" title="abstio::path_camera_state fn">path_camera_state</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_edits.html" title="abstio::path_edits fn">path_edits</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_ltn_proposals.html" title="abstio::path_ltn_proposals fn">path_ltn_proposals</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_player.html" title="abstio::path_player fn">path_player</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_popdat.html" title="abstio::path_popdat fn">path_popdat</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_prebaked_results.html" title="abstio::path_prebaked_results fn">path_prebaked_results</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_raw_map.html" title="abstio::path_raw_map fn">path_raw_map</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_save.html" title="abstio::path_save fn">path_save</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_scenario.html" title="abstio::path_scenario fn">path_scenario</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_shared_input.html" title="abstio::path_shared_input fn">path_shared_input</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.path_trips.html" title="abstio::path_trips fn">path_trips</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.print_download_progress.html" title="abstio::print_download_progress fn">print_download_progress</a></div><div class="item-right docblock-short"><p>Print download progress to STDOUT. Pass this the receiver, then call download_to_file or
download_bytes with the sender.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.read_binary.html" title="abstio::read_binary fn">read_binary</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.read_json.html" title="abstio::read_json fn">read_json</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.read_object.html" title="abstio::read_object fn">read_object</a></div><div class="item-right docblock-short"><p>May be a JSON or binary file</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.slurp_bytes.html" title="abstio::slurp_bytes fn">slurp_bytes</a></div><div class="item-right docblock-short"><p>An adapter for widgetry::Settings::read_svg to read SVGs using this crates methods for finding
and reading files in different environments.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.slurp_file.html" title="abstio::slurp_file fn">slurp_file</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.write_binary.html" title="abstio::write_binary fn">write_binary</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.write_json.html" title="abstio::write_json fn">write_json</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.write_raw.html" title="abstio::write_raw fn">write_raw</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="abstio" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.60.0 (7737e0b5c 2022-04-04)" ></div>
</body></html>