mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-01 10:15:31 +00:00
aquatic_ws: add inline markers to functions that will probably be hot
This commit is contained in:
parent
3321f40697
commit
6c26331ffb
4 changed files with 25 additions and 0 deletions
|
|
@ -192,12 +192,14 @@ struct ActionWrapper<T> {
|
|||
|
||||
|
||||
impl <T>ActionWrapper<T> {
|
||||
#[inline]
|
||||
pub fn announce(t: T) -> Self {
|
||||
Self {
|
||||
action: Action::Announce,
|
||||
inner: t
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
pub fn scrape(t: T) -> Self {
|
||||
Self {
|
||||
action: Action::Scrape,
|
||||
|
|
@ -217,6 +219,7 @@ pub enum InMessage {
|
|||
impl InMessage {
|
||||
/// Try parsing as announce request first. If that fails, try parsing as
|
||||
/// scrape request, or return None
|
||||
#[inline]
|
||||
pub fn from_ws_message(ws_message: tungstenite::Message) -> Option<Self> {
|
||||
use tungstenite::Message::{Text, Binary};
|
||||
|
||||
|
|
@ -255,6 +258,7 @@ pub enum OutMessage {
|
|||
|
||||
|
||||
impl OutMessage {
|
||||
#[inline]
|
||||
pub fn to_ws_message(self) -> tungstenite::Message {
|
||||
let json = match self {
|
||||
Self::AnnounceResponse(message) => {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ impl<'de> Visitor<'de> for TwentyByteVisitor {
|
|||
formatter.write_str("string consisting of 20 bytes")
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
|
||||
where E: ::serde::de::Error,
|
||||
{
|
||||
|
|
@ -60,6 +61,7 @@ impl<'de> Visitor<'de> for TwentyByteVisitor {
|
|||
}
|
||||
|
||||
|
||||
#[inline]
|
||||
pub fn deserialize_20_bytes<'de, D>(
|
||||
deserializer: D
|
||||
) -> Result<[u8; 20], D::Error>
|
||||
|
|
@ -79,6 +81,7 @@ impl<'de> Visitor<'de> for InfoHashVecVisitor {
|
|||
formatter.write_str("string or array of strings consisting of 20 bytes")
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
|
||||
where E: ::serde::de::Error,
|
||||
{
|
||||
|
|
@ -88,6 +91,7 @@ impl<'de> Visitor<'de> for InfoHashVecVisitor {
|
|||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn visit_seq<A>(self, mut seq: A) -> Result<Self::Value, A::Error>
|
||||
where A: SeqAccess<'de>
|
||||
{
|
||||
|
|
@ -104,6 +108,7 @@ impl<'de> Visitor<'de> for InfoHashVecVisitor {
|
|||
Ok(info_hashes)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn visit_none<E>(self) -> Result<Self::Value, E>
|
||||
where E: ::serde::de::Error
|
||||
{
|
||||
|
|
@ -114,6 +119,7 @@ impl<'de> Visitor<'de> for InfoHashVecVisitor {
|
|||
|
||||
/// Empty vector is returned if value is null or any invalid info hash
|
||||
/// is present
|
||||
#[inline]
|
||||
pub fn deserialize_info_hashes<'de, D>(
|
||||
deserializer: D
|
||||
) -> Result<Vec<InfoHash>, D::Error>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue