Fantastic! I will study these solutions and spam questions later.

On Thu, Jan 23, 2014 at 3:59 PM, Mark Mandel <mark.man...@gmail.com> wrote:

> I'm sure Plugh probably does similar things, but my "learning clojure app"
> has my own custom RPC mechanism over websockets that I wrote (because it
> was fun) that is all based around core.async and uses edn to transfer data
> back and forth.
>
> https://github.com/markmandel/chaperone
>
> Server Side:
>
> https://github.com/markmandel/chaperone/blob/master/src/chaperone/web/websocket.clj
>
> https://github.com/markmandel/chaperone/blob/master/src/chaperone/web/rpc.clj
>
> Client Side:
>
> https://github.com/markmandel/chaperone/blob/master/src-cljs/chaperone/websocket.cljs
>
> Hope that helps.  The project isn't hugely far along, but the RPC
> mechanism works.
>
> Mark
>
>
>
> On Thu, Jan 23, 2014 at 6:55 PM, Sean Corfield <s...@corfield.org> wrote:
>
>> Ah, what good timing!
>>
>> David Pollak's project Plugh does this, essentially as an implementation
>> detail. I spent some time with him today discussing this, as I want to use
>> exactly this functionality in a project I'm building.
>>
>> The plan is for me to create a standalone project, based on the kernel of
>> David's code, and enhance it to address a number of issues that he
>> identified as needing work before the project could be used in production
>> code, and then - hopefully - people will use it and provide additional
>> integrations (such as core.async over a message hub to provide
>> server-to-server operation, or core.async between browser client and server
>> using more transmission methods than just web sockets).
>>
>> David's code addresses naming using a registry of channels, identified by
>> GUIDs, on both sides. The web socket reconnection issue is one of the
>> specific enhancements he identified that I plan to figure out and address.
>> There are several others (including actually "GC'ing" closed channels on
>> the other side of the address space divide).
>>
>> Sean
>>
>> On Jan 22, 2014, at 11:39 PM, t x <txrev...@gmail.com> wrote:
>>
>> Hi,
>>
>>   I apologize for my vague question.
>>
>>   Does anyone have a good example / blog / library for using the
>> core.async abstraction across a websocket.
>>
>>   * one side of the channel is in clojure land
>>   * other side of the channel is in cljs land
>>
>>   * I promise that all messages can be encoded via pr-str and read via
>> clojure.edn/read-string
>>
>>   What I'm struggling with are matters of:
>>
>>   * how to ensure data is not lost even when websocket disconects /
>> reconnects
>>
>>   * "naming" on client/server side to ensure messages go to right
>> channels on both sides
>>
>>   * issues I haven't even begun to imagine.
>>
>>   Good news:
>>
>>   * I control both sides: both the clj and cljs side, so any workable
>> design is fine.
>>
>> Thanks!
>>
>> --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>> Sean Corfield -- (904) 302-SEAN
>> An Architect's View -- http://corfield.org/
>>
>> "Perfection is the enemy of the good."
>> -- Gustave Flaubert, French realist novelist (1821-1880)
>>
>>
>>
>>
>
>
> --
> E: mark.man...@gmail.com
> T: http://www.twitter.com/neurotic
> W: www.compoundtheory.com
>
> 2 Devs from Down Under Podcast
> http://www.2ddu.com/
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to