Re: promises, futures and process::Queue

2015-12-28 Thread Benjamin Mahler
Queue does not currently have discard semantics implemented, so discard() does nothing. Keep in mind that f.discard() is just a request, and f.hasDiscard() tells you if the request was made. It's up to the promise owner to decide if discards are supported, and so after a discard is requested the f

Re: promises, futures and process::Queue

2015-12-15 Thread James Peach
> On Dec 14, 2015, at 3:51 PM, James Peach wrote: > > Hi all, > > I wrote some test code that was trying to drain a process::Queue. This ended > up losing values from the queue, as demonstrated by: > > TEST(QueueTest, Discard) > { > Queue q; > > Future get = q.get(); > EXPECT_FALSE(get.is

promises, futures and process::Queue

2015-12-14 Thread James Peach
Hi all, I wrote some test code that was trying to drain a process::Queue. This ended up losing values from the queue, as demonstrated by: TEST(QueueTest, Discard) { Queue q; Future get = q.get(); EXPECT_FALSE(get.isReady()); get.discard(); EXPECT_TRUE(get.hasDiscard()); q.put(42);