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.