rust 1,860,549 · typescript 235,540 · javascript 132,956 · python 20,426 · 6,408 files · digest f04d4637f52b · built in 1.5 s · crystals off
crates/cre8-app-channel/src/chat_bridge.rs
Items
const MAX_MESSAGES_PER_TICK const MAX_SOURCES_PER_CHANNEL const MAX_TEXT_CHARS const MAX_AUTHOR_CHARS const SEEN_WINDOW const IRC_BUFFER_CAP const TWITCH_IRC_HOST const IO_TIMEOUT const RECONNECT_BACKOFF_MS const HTTP_RESPONSE_CAP const HTTP_POLL_FLOOR_MS const YOUTUBE_KEY_NAME struct ExternalChatMessage trait ChatSource enum TwitchLine struct TwitchSource impl TwitchSource impl ChatSource for TwitchSource struct YoutubeSource impl YoutubeSource impl ChatSource for YoutubeSource struct KickSource impl ChatSource for KickSource const FAKE_DEFAULT_LINES struct FakeSource impl ChatSource for FakeSource struct SourceSlot struct BridgeSession impl BridgeSession type SharedSession static SESSIONS const ACTION const ACTION const ACTION
Functions
By call-graph weight (PageRank; 1.0 is the average function). 58 functions in all.
| function | kind | lines | cyclomatic | callers | callees | weight | crystal |
|---|---|---|---|---|---|---|---|
| unescape_irc_tagsrc/chat_bridge.rs:117 | fn | 19 | 8 | 1 | 0 | 2.1 | |
| parse_twitch_linesrc/chat_bridge.rs:139 | fn | 60 | 13 | 4 | 1 | 1.9 | |
| kick_plain_textsrc/chat_bridge.rs:516 | fn | 20 | 3 | 2 | 0 | 1.8 | |
| clean_textsrc/chat_bridge.rs:890 | fn | 18 | 6 | 1 | 0 | 1.4 | |
| str_inputsrc/chat_bridge.rs:932 | fn | 3 | 1 | 1 | 0 | 1.3 | |
| redactsrc/chat_bridge.rs:363 | fn | 6 | 2 | 2 | 0 | 1.2 | |
| build_sourcesrc/chat_bridge.rs:715 | fn | 87 | 12 | 5 | 10 | 1.2 | |
| room_payloadsrc/chat_bridge.rs:911 | fn | 20 | 3 | 3 | 1 | 1.1 | |
| parse_kick_pagesrc/chat_bridge.rs:537 | fn | 35 | 5 | 2 | 1 | 1.1 | |
| parse_youtube_pagesrc/chat_bridge.rs:400 | fn | 28 | 2 | 2 | 0 | 1 | |
| http_get_jsonsrc/chat_bridge.rs:336 | fn | 24 | 2 | 3 | 3 | 1 | |
| BridgeSession::remembersrc/chat_bridge.rs:857 | method | 11 | 3 | 2 | 0 | 1 | |
| lock_sessionssrc/chat_bridge.rs:874 | fn | 6 | 2 | 5 | 0 | 1 | |
| channel_inputsrc/chat_bridge.rs:936 | fn | 3 | 1 | 4 | 1 | 0.9 | |
| lock_sessionsrc/chat_bridge.rs:881 | fn | 6 | 2 | 4 | 0 | 0.8 | |
| TwitchSource::connectsrc/chat_bridge.rs:214 | method | 22 | 1 | 1 | 1 | 0.6 | |
| TwitchSource::drop_connectionsrc/chat_bridge.rs:237 | method | 5 | 1 | 1 | 0 | 0.6 | |
| tick_channelsrc/chat_bridge.rs:1065 | fn | 87 | 11 | 1 | 7 | 0.6 | |
| failuresrc/chat_bridge.rs:940 | fn | 7 | 2 | 2 | 0 | 0.6 | |
| YoutubeSource::resolve_live_chatsrc/chat_bridge.rs:383 | method | 13 | 1 | 1 | 2 | 0.6 | |
| TwitchSource::newsrc/chat_bridge.rs:210 | method | 3 | 1 | 1 | 0 | 0.6 | |
| canonical_platformsrc/chat_bridge.rs:693 | fn | 9 | 5 | 1 | 0 | 0.6 | |
| bare_handlesrc/chat_bridge.rs:705 | fn | 3 | 1 | 1 | 0 | 0.6 | |
| valid_handlesrc/chat_bridge.rs:709 | fn | 3 | 5 | 1 | 0 | 0.6 | |
| TwitchSource::platformsrc/chat_bridge.rs:245 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| TwitchSource::sourcesrc/chat_bridge.rs:249 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| TwitchSource::pollsrc/chat_bridge.rs:253 | trait impl | 68 | 22 | 0 | 3 | 0.5 | |
| TwitchSource::detailsrc/chat_bridge.rs:322 | trait impl | 10 | 2 | 0 | 0 | 0.5 | |
| YoutubeSource::platformsrc/chat_bridge.rs:430 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| YoutubeSource::sourcesrc/chat_bridge.rs:434 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| YoutubeSource::pollsrc/chat_bridge.rs:438 | trait impl | 50 | 6 | 0 | 4 | 0.5 | |
| YoutubeSource::detailsrc/chat_bridge.rs:489 | trait impl | 9 | 1 | 0 | 0 | 0.5 | |
| KickSource::platformsrc/chat_bridge.rs:574 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| KickSource::sourcesrc/chat_bridge.rs:578 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| KickSource::pollsrc/chat_bridge.rs:582 | trait impl | 49 | 7 | 0 | 3 | 0.5 | |
| KickSource::detailsrc/chat_bridge.rs:632 | trait impl | 10 | 1 | 0 | 0 | 0.5 | |
| FakeSource::platformsrc/chat_bridge.rs:660 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| FakeSource::sourcesrc/chat_bridge.rs:664 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| FakeSource::pollsrc/chat_bridge.rs:668 | trait impl | 17 | 4 | 0 | 0 | 0.5 | |
| FakeSource::detailsrc/chat_bridge.rs:686 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| BridgeSession::to_jsonsrc/chat_bridge.rs:826 | method | 29 | 1 | 0 | 0 | 0.5 | |
| handle_startsrc/chat_bridge.rs:952 | fn | 58 | 9 | 0 | 8 | 0.5 | |
| handle_stopsrc/chat_bridge.rs:1013 | fn | 16 | 1 | 0 | 6 | 0.5 | |
| handle_statussrc/chat_bridge.rs:1032 | fn | 14 | 2 | 0 | 3 | 0.5 | |
| handle_ticksrc/chat_bridge.rs:1050 | fn | 14 | 2 | 0 | 3 | 0.5 | |
| a_tagged_privmsg_becomes_a_message_with_the_platforms_own_idsrc/chat_bridge.rs:1158 | fn | 14 | 1 | 0 | 1 | 0.5 | |
| keepalives_reconnects_and_room_noise_are_told_apartsrc/chat_bridge.rs:1174 | fn | 6 | 1 | 0 | 1 | 0.5 | |
| an_action_line_keeps_its_words_and_an_untagged_line_still_gets_an_idsrc/chat_bridge.rs:1182 | fn | 9 | 1 | 0 | 1 | 0.5 | |
| a_youtube_page_yields_only_viewer_textsrc/chat_bridge.rs:1193 | fn | 16 | 1 | 0 | 1 | 0.5 | |
| a_kick_page_reads_oldest_first_and_accepts_numeric_idssrc/chat_bridge.rs:1211 | fn | 10 | 1 | 0 | 1 | 0.5 | |
| a_bridged_line_is_cleaned_capped_and_marked_externalsrc/chat_bridge.rs:1223 | fn | 22 | 2 | 0 | 1 | 0.5 | |
| the_fake_source_plays_its_script_once_unless_told_to_loopsrc/chat_bridge.rs:1247 | fn | 18 | 2 | 0 | 2 | 0.5 | |
| sources_are_named_by_platform_and_a_bad_handle_is_refusedsrc/chat_bridge.rs:1267 | fn | 10 | 1 | 0 | 2 | 0.5 | |
| a_bridge_remembers_what_it_publishedsrc/chat_bridge.rs:1279 | fn | 27 | 1 | 0 | 1 | 0.5 | |
| live_twitch_chat_is_read_anonymouslysrc/chat_bridge.rs:1312 | fn | 24 | 5 | 0 | 5 | 0.5 | |
| live_kick_chat_is_read_after_the_slug_resolvessrc/chat_bridge.rs:1342 | fn | 25 | 5 | 0 | 4 | 0.5 | |
| kick_emote_markup_reads_as_the_emote_namesrc/chat_bridge.rs:1369 | fn | 5 | 1 | 0 | 1 | 0.5 | |
| an_api_key_never_survives_into_an_errorsrc/chat_bridge.rs:1376 | fn | 4 | 1 | 0 | 1 | 0.5 |
Source not readable from this process.