Skip to content

Socket repl timing issues? #375

@sogaiu

Description

@sogaiu

There is some work going on in trying to get Arcadia socket repl support in the Chlorine plugin for the Atom editor, and there appears to be some issue subsequent to a successful connection.

Upon connection to Arcadia's Socket repl port, what is sent is:

  • newline
  • reader-conditional form newline
  • keyword newline
\n
#?(:cljs :using-cljs-repl :clj :using-clj-repl :cljr :using-cljr-repl :joker :using-joker-repl :bb :using-bb-repl)\n
:using-unknown-repl\n

code:

       (.write conn "\n")
       (.write conn (str "#?(:cljs :using-cljs-repl :clj :using-clj-repl "
                         ":cljr :using-cljr-repl "
                         ":joker :using-joker-repl "
                         ":bb :using-bb-repl)\n"))
       (.write conn ":using-unknown-repl\n")

I see 2 prompts according to wireshark, but no evaluation results (wireshark output below):

user=> 
#?(:cljs :using-cljs-repl :clj :using-clj-repl :cljr :using-cljr-repl :joker :using-joker-repl :bb :using-bb-repl)
:using-unknown-repl
user=>

When I do this manually via nc, I see evaluation results for both with 3 prompts total (wireshark output below):

user=> #?(:cljs :using-cljs-repl :clj :using-clj-repl :cljr :using-cljr-repl :joker :using-joker-repl :bb :using-bb-repl)
:using-cljr-repl
user=> :using-unknown-repl
:using-unknown-repl
user=>

When I put the 2 forms in a file and nc it, I see one evaluation result and only 2 prompts (wireshark output below):

#?(:cljs :using-cljs-repl :clj :using-clj-repl :cljr :using-cljr-repl :joker :using-joker-repl :bb :using-bb-repl)
:using-unknown-repl

user=> :using-cljr-repl
user=>

From these experiments, I'm thinking there may be some timing issues.

Any thoughts?

Metadata

Metadata

Assignees

Labels

toolingIssues related to editor integration and the like

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions