Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-12 Thread Sergey Sopin
Hi Rafał, Thank you very much! Cheers, Sergey четверг, 12 января 2017 г., 12:51:23 UTC+2 пользователь Rafał Krzewski написал: > > Hi, > > here's more robust implementation of stream splitter, based on Partition > stage: https://gist.github.com/rkrzewski/a0fc5d0b47d9a3e0b2c81435adef3fe7 > >

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-12 Thread Rafał Krzewski
Hi, here's more robust implementation of stream splitter, based on Partition stage: https://gist.github.com/rkrzewski/a0fc5d0b47d9a3e0b2c81435adef3fe7 cheers, Rafał W dniu środa, 11 stycznia 2017 20:26:24 UTC+1 użytkownik Sergey Sopin napisał: > > Hi again, > > Rafał, could you please give me

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-11 Thread Rafał Krzewski
Of course, you should wait explicitly. I only meant the order of events happening. I coded up a minimal implementation https://gist.github.com/rkrzewski/f1d131405ddb8ce0d1a6fded55da8c23 (it's in Scala, I hope you don't mind) A more practical one would require handling back-pressure on each

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-11 Thread Sergey Sopin
Hi again, Rafał, could you please give me an example of how to implement waiting? Thanks! - Sergey среда, 11 января 2017 г., 18:56:00 UTC+2 пользователь Rafał Krzewski написал: > > The process should look like following: > > 1. Wait for both outlets to pull > 2. Pull from inlet > 2. Wait for

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-11 Thread Sergey Sopin
Hi Rafał, Yeah, you are right! Thank you! I understood. Cheers, Sergey среда, 11 января 2017 г., 18:56:00 UTC+2 пользователь Rafał Krzewski написал: > > The process should look like following: > > 1. Wait for both outlets to pull > 2. Pull from inlet > 2. Wait for the inlet to push an element,

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-11 Thread Sergey Sopin
Hi Rafał, Could you please tell me how to achieve it? The code is listed in the initial message. When onPull procedure is called for the out1 Outlet, onPull for out0 is already executed and inlet is already in pulled state, so hasBeenPulled function returns true for it and it is not possible

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-11 Thread Rafał Krzewski
The process should look like following: 1. Wait for both outlets to pull 2. Pull from inlet 2. Wait for the inlet to push an element, make the decision and push it to the appropriate outlet 3. Goto 1 This way you only ever pull inlet once, and once the element is available you can always push

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-10 Thread Sergey Sopin
So, does it make sense? It seems it would be better to allow inlet be pullet once per outlet, not once at all. May be there is some existing solution for the problem above? - Sergey понедельник, 9 января 2017 г., 17:03:43 UTC+2 пользователь Sergey Sopin написал: > > Hi Endre, > > I am not

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-09 Thread Sergey Sopin
Hi Endre, I am not sure if I need it. But it seems, that sometimes my inlet is being pulled by outlet_0 when, according to conditions, message should be pushed to outlet_1. In this case my flow get stuck, becase it waits until outlet_1 will pull it and it doesn't happen (because port is

Re: [akka-user] Re: [Akka-streams] Cannot push port twice

2017-01-09 Thread Endre Varga
On Mon, Jan 9, 2017 at 3:03 PM, Sergey Sopin wrote: > Hi again, > > In my case I have 1 inlet and 2 outlets. It seems that inlet port can be > pulled only once. > Yes, this is clearly documented here: