This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-05-10
Channels
- # babashka (35)
- # beginners (70)
- # bristol-clojurians (1)
- # calva (30)
- # cider (2)
- # cljsrn (203)
- # clojure (20)
- # clojure-australia (3)
- # clojure-europe (17)
- # clojure-france (7)
- # clojure-nl (4)
- # clojure-uk (8)
- # clojurescript (27)
- # code-reviews (19)
- # core-async (21)
- # cursive (7)
- # datomic (31)
- # defnpodcast (1)
- # duct (6)
- # emacs (3)
- # events (1)
- # helix (2)
- # honeysql (24)
- # jackdaw (2)
- # jobs (2)
- # jobs-discuss (13)
- # juxt (2)
- # lsp (21)
- # re-frame (45)
- # remote-jobs (2)
- # rewrite-clj (3)
- # shadow-cljs (13)
- # vim (1)
Hey all, what does this mean?
No implementation of method: :put! of protocol: #'clojure.core.async.impl.protocols/WritePort found for class: nil
I’m passing it like this:
(>!! (:channel (:com.app.graphql.channel/channel state/system)) {:msg-type :update :data {:msg somevalue}})
I'd check that (:channel (:com.app.graphql.channel/channel state/system))
is returning what you think it is. My guess is that it is nil
💯 6
☝️ 3
Yeah, added the channel now but
No implementation of method: :put! of protocol: #'clojure.core.async.impl.protocols/WritePort found for class: clojure.lang.PersistentArrayMap
(>!!
(timbre/spy
(:channel (:com.app.graphql.channel/channel state/system)))
{:msg-type :update :data {:msg somevalue}})
clojure.lang.ExceptionInfo: Invalid Timbre logging level: should be e/o #{:trace :debug :info :warn :error :fatal :report}
given: {:channel
#object[clojure.core.async.impl.channels.ManyToManyChannel 0x7ba8e11d "clojure.core.async.impl.channels.ManyToManyChannel@7ba8e11d"],
:publication
#object[clojure.core.async$pub$reify__13166 0x39b5607c "clojure.core.async$pub$reify__13166@39b5607c"]}
type: clojure.lang.PersistentArrayMap
This is the channel initialisation:
(defmethod ig/init-key :com.app.graphql.channel/channel [_ _]
(let [channel (chan)]
{:channel channel :publication (pub channel :msg-type)}))
This code is out of context. It’s not possible to see where/how you’re calling (>!! channel …).
@kishore.karnam do you have other core.async code working? These examples take a fair bit to pick through
it looks like you need to check your code again after setting up timbre correctly as per https://clojurians.slack.com/archives/C05423W6H/p1620649512148300?thread_ts=1620645717.146000&cid=C05423W6H