Convert core::pipes::{Packet,Chan_,Port_} into structs
This commit is contained in:
parent
90734a0d33
commit
feab095d65
1 changed files with 13 additions and 9 deletions
|
@ -201,10 +201,10 @@ impl PacketHeader {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
pub type Packet<T: Owned> = {
|
pub struct Packet<T: Owned> {
|
||||||
header: PacketHeader,
|
header: PacketHeader,
|
||||||
mut payload: Option<T>,
|
mut payload: Option<T>,
|
||||||
};
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
pub trait HasBuffer {
|
pub trait HasBuffer {
|
||||||
|
@ -223,9 +223,9 @@ impl<T: Owned> Packet<T>: HasBuffer {
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
pub fn mk_packet<T: Owned>() -> Packet<T> {
|
pub fn mk_packet<T: Owned>() -> Packet<T> {
|
||||||
{
|
Packet {
|
||||||
header: PacketHeader(),
|
header: PacketHeader(),
|
||||||
mut payload: None
|
payload: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -233,9 +233,9 @@ pub fn mk_packet<T: Owned>() -> Packet<T> {
|
||||||
fn unibuffer<T: Owned>() -> ~Buffer<Packet<T>> {
|
fn unibuffer<T: Owned>() -> ~Buffer<Packet<T>> {
|
||||||
let b = ~{
|
let b = ~{
|
||||||
header: BufferHeader(),
|
header: BufferHeader(),
|
||||||
data: {
|
data: Packet {
|
||||||
header: PacketHeader(),
|
header: PacketHeader(),
|
||||||
mut payload: None,
|
payload: None,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1011,7 +1011,9 @@ pub trait Peekable<T> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
type Chan_<T:Owned> = { mut endp: Option<streamp::client::Open<T>> };
|
struct Chan_<T:Owned> {
|
||||||
|
mut endp: Option<streamp::client::Open<T>>,
|
||||||
|
}
|
||||||
|
|
||||||
/// An endpoint that can send many messages.
|
/// An endpoint that can send many messages.
|
||||||
pub enum Chan<T:Owned> {
|
pub enum Chan<T:Owned> {
|
||||||
|
@ -1019,7 +1021,9 @@ pub enum Chan<T:Owned> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
type Port_<T:Owned> = { mut endp: Option<streamp::server::Open<T>> };
|
struct Port_<T:Owned> {
|
||||||
|
mut endp: Option<streamp::server::Open<T>>,
|
||||||
|
}
|
||||||
|
|
||||||
/// An endpoint that can receive many messages.
|
/// An endpoint that can receive many messages.
|
||||||
pub enum Port<T:Owned> {
|
pub enum Port<T:Owned> {
|
||||||
|
@ -1034,7 +1038,7 @@ These allow sending or receiving an unlimited number of messages.
|
||||||
pub fn stream<T:Owned>() -> (Port<T>, Chan<T>) {
|
pub fn stream<T:Owned>() -> (Port<T>, Chan<T>) {
|
||||||
let (c, s) = streamp::init();
|
let (c, s) = streamp::init();
|
||||||
|
|
||||||
(Port_({ mut endp: Some(move s) }), Chan_({ mut endp: Some(move c) }))
|
(Port_(Port_ { endp: Some(s) }), Chan_(Chan_{ endp: Some(c) }))
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: Owned> Chan<T>: GenericChan<T> {
|
impl<T: Owned> Chan<T>: GenericChan<T> {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue