Implement ZeroMQ for internal events

Repository details (botten-nappet)
Project page
botten-nappet
Project log category
(195 entries)
Owner
@joelpurra
Contributors
Contributors on Github
Project status
💤 This project is inactive.
📂 This project is open.
🤷 This project is not particularly popular.
Repository activity period
🗓
Commits
209 commits
Stars
5 stars
Commit details (8a553e9f)
Author
Authored at
Committer
Joel Purra
Committed at

Commit message

Implement ZeroMQ for internal events

  • Split up hard dependencies using events.
  • Introduce event classes and interfaces.
  • Still needs work on reducing the number of steps to set up a new event handler or emitter.
Raw text
Implement ZeroMQ for internal events

- Split up hard dependencies using events.
- Introduce event classes and interfaces.
- Still needs work on reducing the number of steps to set up a new event handler or emitter.

Changed files (55)

Path Additions Deletions
README.md +3 -0
config/custom-environment-variables.yml +1 -0
config/default.yml +6 -3
docs/overview/system.fodg +98 -99
src/config/config.ts +28 -0
src/{twitch => connection}/connection-manager.ts +5 -4
src/{twitch/iconnection.ts => connection/iconnectable.ts} +1 -10
src/connection/ireceiving-connection.ts +27 -0
src/connection/isending-connection.ts +26 -0
src/event/event-subscription-manager.ts +43 -0
src/event/ievent-emitter.ts +23 -0
src/event/ievent-handler.ts +24 -0
src/event/ievent-publisher-connection.ts +24 -0
src/event/ievent-subscription-connection.ts +24 -0
src/main/run.ts +97 -9
src/message-queue/item-array-json-topics-subscriber.ts +53 -0
src/message-queue/itopic-messages.ts +24 -0
src/message-queue/izeromq-topic-message.ts +28 -0
src/message-queue/json-topics-subscriber.ts +59 -0
src/message-queue/publisher.ts +95 -0
src/message-queue/single-item-topics-subscriber.ts +54 -0
src/message-queue/topic-publisher.ts +93 -0
src/message-queue/topics-subscriber.ts +177 -0
src/message-queue/zeromq-types.ts +21 -0
src/startable-stoppable/istartable-stoppable.ts +27 -0
src/twitch/authentication/application-token-manager.ts +5 -4
src/twitch/authentication/polling-application-token-connection.ts +1 -1
src/twitch/authentication/provider-types.ts +0 -1
src/twitch/authentication/user-token-manager.ts +0 -1
src/twitch/irc/{iparsed-message.ts => command/iincoming-irc-command.ts} +1 -1
src/twitch/irc/command/ioutgoing-irc-command.ts +27 -0
src/twitch/irc/event-emitter/outgoing-irc-command-event-emitter.ts +51 -0
src/twitch/irc/event-handler/incoming-irc-command-event-translator.ts +65 -0
src/twitch/irc/event-handler/outgoing-irc-command-event-handler.ts +70 -0
src/twitch/irc/handler/follow-reminder.ts +3 -3
src/twitch/irc/handler/greeting.ts +3 -3
src/twitch/irc/handler/logging.ts +3 -3
src/twitch/irc/handler/new-chatter.ts +3 -3
src/twitch/irc/handler/ping.ts +3 -3
src/twitch/irc/handler/reconnect.ts +3 -3
src/twitch/irc/handler/subscribing.ts +3 -3
src/twitch/irc/handler/text-response-command.ts +26 -11
src/twitch/irc/iirc-connection.ts +2 -6
src/twitch/irc/irc-connection.ts +20 -35
src/twitch/irc/irc-manager.ts +5 -5
src/twitch/polling/connection/polling-clientid-connection.ts +3 -3
src/twitch/polling/handler/following.ts +2 -3
src/twitch/polling/ipolling-connection.ts +3 -2
src/twitch/polling/polling-connection.ts +15 -11
src/twitch/polling/polling-manager.ts +4 -4
src/twitch/pubsub/handler/ping.ts +3 -1
src/twitch/pubsub/pubsub-connection.ts +3 -18
src/twitch/pubsub/pubsub-manager.ts +2 -2
src/twitch/websocket/iwebsocket-connection.ts +3 -6
src/twitch/websocket/websocket-connection.ts +2 -4

Commit categories (3)