Skip to content

timeout operator is not re-emiting source #12

Description

@gnzsnz

Operator timeout is not re-emiting source emits

    def on_source(self, *args):
        loop = get_event_loop()
        self._last_time = loop.time()
        # no emit from source

example

e = await ev.Event.sequence([1,2,3,4],interval=0.2).timeout(1).list()
# expected e == [1,2,3,4]
assert e != [1,2,3,4]
# actual
assert e == []

fix

    def on_source(self, *args):
        loop = get_event_loop()
        self._last_time = loop.time()
        Op.on_source(self, *args)

with this fix, we can pipe operators

e = await ev.Event.sequence([1,2,3,4],interval=0.2).timeout(1).list()
assert e == [1,2,3,4]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions