Skip to content

fmnasution/koi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ab9f55c · Apr 12, 2018

History

2 Commits
Apr 12, 2018
Apr 12, 2018
Apr 12, 2018
Apr 12, 2018
Apr 12, 2018
Apr 12, 2018
Apr 12, 2018

Repository files navigation

koi

Simple message signaling

Usage

Require the namespaces

(ns my-project.core
  (:require
   [koi.message :as msg]
   [koi.dispatcher :as dpt]
   [koi.listener :as lst]))

Define the message

(defrecord PrintlnMessage [message]
  msg/IMessage
  (handle [{:keys [message]} context]
    (println "Incoming message: " message))
  (handle-error [{:keys [message]} context error]
    (println "Error:" error "when processing message:" message)))
    
(defn new-println-message
  [message]
  (PrintlnMessage. message))

Create the dispatcher

(def my-dispatcher (dpt/new-message-dispatcher))
(def my-dispatcher-listener (lst/start-message-listener! my-dispatcher))

Starts dispatching

(dpt/dispatch! my-dispatcher (new-println-message "foobar"))

;; printed
;; "Incoming message: foobar"

License

Copyright © 2018 fmnasution

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published