• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

freqtrade / freqtrade / 9394559170

26 Apr 2024 06:36AM UTC coverage: 94.656% (-0.02%) from 94.674%
9394559170

push

github

xmatthias
Loader should be passed as kwarg for clarity

20280 of 21425 relevant lines covered (94.66%)

0.95 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

92.86
/freqtrade/rpc/api_server/ws/message_stream.py
1
import asyncio
1✔
2
import time
1✔
3

4

5
class MessageStream:
1✔
6
    """
7
    A message stream for consumers to subscribe to,
8
    and for producers to publish to.
9
    """
10
    def __init__(self):
1✔
11
        self._loop = asyncio.get_running_loop()
1✔
12
        self._waiter = self._loop.create_future()
1✔
13

14
    def publish(self, message):
1✔
15
        """
16
        Publish a message to this MessageStream
17

18
        :param message: The message to publish
19
        """
20
        waiter, self._waiter = self._waiter, self._loop.create_future()
1✔
21
        waiter.set_result((message, time.time(), self._waiter))
1✔
22

23
    async def __aiter__(self):
1✔
24
        """
25
        Iterate over the messages in the message stream
26
        """
27
        waiter = self._waiter
1✔
28
        while True:
1✔
29
            # Shield the future from being cancelled by a task waiting on it
30
            message, ts, waiter = await asyncio.shield(waiter)
1✔
31
            yield message, ts
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc