Convert core::pipes::{Packet,Chan_,Port_} into structs

This commit is contained in:
Erick Tryzelaar 2013-01-24 10:43:33 -08:00
parent 90734a0d33
commit feab095d65

View File

@ -201,10 +201,10 @@ impl PacketHeader {
}
#[doc(hidden)]
pub type Packet<T: Owned> = {
pub struct Packet<T: Owned> {
header: PacketHeader,
mut payload: Option<T>,
};
}
#[doc(hidden)]
pub trait HasBuffer {
@ -223,9 +223,9 @@ impl<T: Owned> Packet<T>: HasBuffer {
#[doc(hidden)]
pub fn mk_packet<T: Owned>() -> Packet<T> {
{
Packet {
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>> {
let b = ~{
header: BufferHeader(),
data: {
data: Packet {
header: PacketHeader(),
mut payload: None,
payload: None,
}
};
@ -1011,7 +1011,9 @@ pub trait Peekable<T> {
}
#[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.
pub enum Chan<T:Owned> {
@ -1019,7 +1021,9 @@ pub enum Chan<T:Owned> {
}
#[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.
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>) {
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> {