Skip to content

Guideline 6.4: Protect calls to user code from within an operator #216

Closed
@benjchristensen

Description

@benjchristensen

While discussing pull request #212 a possible issue came up with out incoming (not operators) Observer's are handled in relation to wrapping them with AtomicObserver.

Instead of discussing it on that unrelated pull request I am moving it to here. The original comment on the possible problem is from @johngmyers here:

Guideline 6.4 explicitly states:

Note: do not protect calls to Subscribe, Dispose, OnNext, OnError and OnCompleted methods. These calls are on the edge of the monad. Calling the OnError method from these places will lead to unexpected behavior.

This seems to expressly contraindicate the AtomicObserver.onNext() protection code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions