On 9/20/2013 2:46 PM, Jochen Theodorou wrote:
Exposing a StackStream API means that you need to eagerly walk the stack
and copy the stack frames to it before it returns. I agree it is a much
more flexible API. On the other hand, stack walking is sequential and
ordered and a stack stream will be traversed as in an iterator.
to underline it: Stream does not require you to eagerly read all values
Yes. What I was trying to explain is that if we want to return a Stream
instance to the caller and traverse later, it means that it has to take
a snapshot of the stack trace of the current thread. The stack trace
data has to be stored in whatever data structure like how Throwable is
currently implemented.
I think referring this as a "stream" cause the confusion - will revisit
this.
Mandy