mod de;
mod ser;
#[cfg(test)]
mod tests;
#[derive(Debug, Clone)]
pub struct Call<M> {
pub(super) method: M,
pub(super) oneway: bool,
pub(super) more: bool,
pub(super) upgrade: bool,
}
impl<M> Call<M> {
pub fn new(method: M) -> Self {
Self {
method,
oneway: false,
more: false,
upgrade: false,
}
}
pub fn set_oneway(mut self, oneway: bool) -> Self {
self.oneway = oneway;
self
}
pub fn set_more(mut self, more: bool) -> Self {
self.more = more;
self
}
pub fn set_upgrade(mut self, upgrade: bool) -> Self {
self.upgrade = upgrade;
self
}
pub fn method(&self) -> &M {
&self.method
}
pub fn oneway(&self) -> bool {
self.oneway
}
pub fn more(&self) -> bool {
self.more
}
pub fn upgrade(&self) -> bool {
self.upgrade
}
}
impl<M> From<M> for Call<M> {
fn from(method: M) -> Self {
Self::new(method)
}
}