1
Fork 0

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)] #[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> {