Brian, thank you for explanation. But, in that case I have one more
question. If PipeBytePort is unsendable any more, how bidirectional,
pipe_stream
based communication could be organised?


Best regards,
Alexander.

2013/7/8 <[email protected]>
>
>
> Message: 1
> Date: Mon, 08 Jul 2013 11:24:42 -0700
> From: Brian Anderson <[email protected]>
> To: [email protected]
> Subject: Re: [rust-dev] flatpipes question
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> On 07/08/2013 06:43 AM, Josh Leverette wrote:
> >
> > extern mod std;
> > extern mod extra;
> > use std::{task, io};
> > use extra::flatpipes;
> >
> > fn main() {
> >     let (port, chan) = flatpipes::serial::pipe_stream();
> >     let portBox = ~port;
> >     do task::spawn || {
> >         let val = portBox.recv();
> >         io::println(fmt!("Value: %?", val));
> >     }
> >     let value = @[1, 2, 3, 4, 5];
> >     chan.send(value);
> > }
>
> The problem is that an @-box was added to the PipeBytePort type, which
> makes it unsendable, so at the moment flatpipe ports cannot be sent.
> Channels are still sendable. Here's the definition in question:
>
>      pub struct PipeBytePort {
>          port: comm::Port<~[u8]>,
>          buf: @mut ~[u8]
>      }
>
> _______________________________________________
> Rust-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/rust-dev
>
>
> End of Rust-dev Digest, Vol 37, Issue 25
> ****************************************
>
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to