Skip to content

Instantly share code, notes, and snippets.

@hhutch
Created June 26, 2012 17:52
Show Gist options
  • Select an option

  • Save hhutch/2997439 to your computer and use it in GitHub Desktop.

Select an option

Save hhutch/2997439 to your computer and use it in GitHub Desktop.
Attempted transliteration of vert.x echo server in Java to Clojure
package org.vertx.java.examples.echo;
import org.vertx.java.core.Handler;
import org.vertx.java.core.net.NetSocket;
import org.vertx.java.core.streams.Pump;
import org.vertx.java.deploy.Verticle;
public class EchoServer extends Verticle {
public void start() {
vertx.createNetServer().connectHandler(new Handler<NetSocket>() {
public void handle(final NetSocket socket) {
Pump.createPump(socket, socket).start();
}
}).listen(1234);
}
}
(ns verticals.core
(:import [org.vertx.java.core Handler]
[org.vertx.java.core.net NetSocket]
[org.vertx.java.core.streams Pump]
[org.vertx.java.deploy Verticle]))
(defn start-server
"I don't do a whole lot."
[& args]
(proxy [Verticle] []
(start []
(.. (. this vertx)
(.createNetServer)
(.connectHandler
(proxy [Handler] []
(handle [socket]
(.startx (Pump/createPump socket socket)))))
(.listen 1234)))))
;; running these at the REPL doesn't work of course
;(def xx (start-server))
;(.start xx)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment