Sorry, no, I'm deserializing data from the Bitcoin p2p network. There's
a lot of odd quirks (mostly, the integer widths are fairly arbitrary and
sometimes variable-width) which wouldn't be suitable for a general
purpose [de]serializing routine.


Andrew



On Fri, May 30, 2014 at 12:56:59PM -0700, Erick Tryzelaar wrote:
> Slightly off topic, what kind of deserialization are you working on? If
> it's a generic deserializer, I'm putting together a prototype for
> https://github.com/rust-lang/rfcs/pull/22 in my
> https://github.com/erickt/rust-serde repository. Maybe we can collaborate.
> 
> On Friday, May 30, 2014, Andrew Poelstra <[email protected]> wrote:
> 
> >
> > Oh, I sent my earlier message prematurely. The problem here is that I
> > want to move the original iterator forward by the appropriate amount
> > (not one further), since I'm passing a iter.by_ref() to each of my
> > deserialization routines in turn.
> >
> > It seems that if I use .peekable() I either move the original iterator
> > one position too far, or not at all, depending on how exactly I do it.
> >
> > I could refactor to make my deserialization techniques require a
> > Peekable, but this isn't logically necessary because I can accomplish my
> > goal by manually counting iterations, so it would be an abstraction
> > leak.
> >
> >
> >
> > Andrew
> >
> >
> >
> > On Fri, May 30, 2014 at 09:57:50AM -0700, Steven Fackler wrote:
> > > It may not fulfill your exact use case, but you can get this in a way:
> > >
> > > let mut foo = bar.iter().peekable();
> > > {
> > >     let mut limit_foo = foo.by_ref().limit(50);
> > >     for baz in limit_foo {
> > >         ...
> > >     }
> > > }
> > > if foo.is_empty() {
> > >     ...
> > > }
> > >
> > > Steven Fackler
> > >
> > >
> > > On Fri, May 30, 2014 at 9:51 AM, Evan G <[email protected] <javascript:;>>
> > wrote:
> > >
> > > > Instead of using a for statement, try looping over a custom iterator
> > that
> > > > returns an Enum.
> > > >
> > > >
> > > > On Fri, May 30, 2014 at 11:31 AM, Andrew Poelstra <
> > > > [email protected] <javascript:;>> wrote:
> > > >
> > > >> Hi guys,
> > > >>
> > > >>
> > > >> Take is an iterator adaptor which cuts off the contained iterator
> > after
> > > >> some number of elements, always returning None.
> > > >>
> > > >> I find that I need to detect whether I'm getting None from a Take
> > > >> iterator because I've read all of the elements I expected or because
> > the
> > > >> underlying iterator ran dry unexpectedly. (Specifically, I'm parsing
> > > >> some data from the network and want to detect an early EOM.)
> > > >>
> > > >>
> > > >> This seems like it might be only me, so I'm posing this to the list:
> > if
> > > >> there was a function Take::is_done(&self) -> bool, which returned
> > whether
> > > >> or not the Take had returned as many elements as it could, would that
> > be
> > > >> generally useful?
> > > >>
> > > >> I'm happy to submit a PR but want to check that this is appropriate
> > for
> > > >> the standard library.
> > > >>
> > > >>
> > > >>
> > > >> Thanks
> > > >>
> > > >> Andrew
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >> Andrew Poelstra
> > > >> Mathematics Department, University of Texas at Austin
> > > >> Email: apoelstra at wpsoftware.net
> > > >> Web:   http://www.wpsoftware.net/andrew
> > > >>
> > > >> "If they had taught a class on how to be the kind of citizen Dick
> > Cheney
> > > >>  worries about, I would have finished high school."   --Edward Snowden
> > > >>
> > > >>
> > > >> _______________________________________________
> > > >> Rust-dev mailing list
> > > >> [email protected] <javascript:;>
> > > >> https://mail.mozilla.org/listinfo/rust-dev
> > > >>
> > > >>
> > > >
> > > > _______________________________________________
> > > > Rust-dev mailing list
> > > > [email protected] <javascript:;>
> > > > https://mail.mozilla.org/listinfo/rust-dev
> > > >
> > > >
> >
> > --
> > Andrew Poelstra
> > Mathematics Department, University of Texas at Austin
> > Email: apoelstra at wpsoftware.net
> > Web:   http://www.wpsoftware.net/andrew
> >
> > "If they had taught a class on how to be the kind of citizen Dick Cheney
> >  worries about, I would have finished high school."   --Edward Snowden
> >
> >

-- 
Andrew Poelstra
Mathematics Department, University of Texas at Austin
Email: apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew

"If they had taught a class on how to be the kind of citizen Dick Cheney
 worries about, I would have finished high school."   --Edward Snowden

Attachment: pgp23N4JMQv4F.pgp
Description: PGP signature

_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to