Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Dennis Vriend
    @dnvriend
    Ping
    Marc Piechura
    @marcpiechura
    Pong
    Viktor Klang (√)
    @viktorklang
    Pang
    Marc Piechura
    @marcpiechura
    @viktorklang reactive-streams/reactive-streams-dotnet#17 needs to be merged before I can send the PR for RC1, otherwise the build will fail
    Viktor Klang (√)
    @viktorklang
    Merged!
    Marc Piechura
    @marcpiechura
    @viktorklang we have an issue with the pre release version. If another library wants to release a stable version it's not allowed to have a dependencies to a beta package. So my question is, how long should we wait before we release 1.0 ?
    Viktor Klang (√)
    @viktorklang
    Hi @Silv3rcircl3, are all known implementations passing the TCK?
    Marc Piechura
    @marcpiechura
    @viktorklang sorry for the late response, the only other implementation in .Net I know of is Reactor but they haven't implemented the TCK
    David Karnok
    @akarnokd
    I'm low on time as I have to manage several projects so no promise on when Reactor.Core will do TCK. I merged in the environment support and have one test now that fails/hangs. It's kind of difficult to figure out why without the TCK sources at hand (which is neatly accessible in the JVM version).
    David Karnok
    @akarnokd
    Run the TCK on our concat() impl and these fail:
    • Required_spec109_subscribeThrowNPEOnNullSubscriber : we don't throw ArgumentNullException but rely on NullReferenceException implicitly
    • Required_spec309_requestNegativeNumberMustSignalIllegalArgumentException : I guess it is expected request() calls onError but generally that's a concurrency violation on onError if the request() is asynchronous relative to onError
    • Required_spec309_requestZeroMustSignalIllegalArgumentException : same as above
    David Karnok
    @akarnokd
    For now, I'll add a Tck() operator that behaves like the TCK expects...
    David Karnok
    @akarnokd
    FYI, the TCK now passes for the operator Concat: https://travis-ci.org/reactor/reactor-core-dotnet/builds/150623696
    Viktor Klang (√)
    @viktorklang
    @akarnokd RE: 3.09, the onError should be signalled as a response to requesting a negative number, i.e. it is not the request method itself that should do it, in the case of async publishers.
    David Karnok
    @akarnokd
    No problem, added a Tck() operator that serializes the call to OnError when called from request() with any other call to OnXXX.
    Viktor Klang (√)
    @viktorklang
    @akarnokd I have no idea what a Tck() operator is, but sounds like you sorted it out :)
    David Karnok
    @akarnokd
    Yeah, like requesting negative and expecting ArgumentException sent via onError.
    By default, we ignore most of these violations in the current sequence.
    Stephane Maldini
    @smaldini
    howdy
    the 3.09, the error should be serialized is probably a thing I wanted to debate on
    Viktor Klang (√)
    @viktorklang
    Doesn't .NET support unsigned longs?
    David Karnok
    @akarnokd
    I really like signed longs because it let's me use the top bit as a flag in a single value that then can be atomically manipulated. Allows nice lock-free and sometimes wait-free operators. Anything else would require boxing and allocation.
    Viktor Klang (√)
    @viktorklang
    Well, that doesn't mean that request(unsigned long) wouldnt make the problem go away
    David Karnok
    @akarnokd
    Having <= 0 request is a bug in downstream; I really would like it to be an undefined behavior and have the Tck() operator be the diagnostic means for hunting down that bug.
    An unrelated note, how do you feel about having extension methods targeting IPublisher directly? The problem with that is if two libs have overlapping extension methods, it becomes inconvenient to manually select one or the other.
    Srepfler Srdan
    @schrepfler
    is there anything similar to rx marbles but for reactive streams (similar question for akka streams)?
    Viktor Klang (√)
    @viktorklang
    @schrepfler What would it do for Reactive Streams?
    Srepfler Srdan
    @schrepfler
    so I suppose there are operators in RS just like in Rx?
    just to have some sort of visual rapresentation of how they work
    I just took a look at the API, RS deals only with these 4 interfaces Processor/Publisher/Subscriber/Subsciption. It doesn’t define any operators like Rx?
    Stephane Maldini
    @smaldini
    its only for rx like API @schrepfler , which is an approach taken by reactor and rxjava in particular
    the specification models the behavior which is already a full collection of side effect to clearly specify
    Srepfler Srdan
    @schrepfler
    thanks @smaldini
    Viktor Klang (√)
    @viktorklang
    So you can implement any operator on top of RS.
    Marc Piechura
    @marcpiechura
    @akarnokd is the .Net TCK working for you ?