      resp is a ring Response Map, e.g. {:status 200, headers {\"Content-Type\" \"text/html\"}, :body \"Hello, Nginx-Clojure!\" } .
      ")
   (add-listener! [ch callbacks-map]
-    "Add a websocket event listener.
+    "Add a channel event listener.
       callbacks-map is a map whose key can be either of :on-open,:on-message,:on-close,:on-error
       the value of :on-open is a function like (fn[ch]...)
       the value of :on-message is a function like (fn[ch message remaining?]...)
+      the value of :on-close is a function like (fn[ch reason]...)
+      the value of :on-error is a function like (fn[ch status])
+     ")
+  (add-aggregated-listener! [ch max-message-size callbacks-map]
+    "Add an aggregated message listener.
+      callbacks-map is a map whose key can be either of :on-open,:on-message,:on-close,:on-error
+      the value of :on-open is a function like (fn[ch]...)
+      the value of :on-message is a function like (fn[ch message]...)
       the value of :on-close is a function like (fn[ch reason]...)
       the value of :on-error is a function like (fn[ch status])
      ")

            NginxRequest NginxHttpServerChannel ChannelListener
            AppEventListenerManager AppEventListenerManager$Listener
            AppEventListenerManager$Decoder AppEventListenerManager$PostedEvent
            MessageAdapter])
  (:import [nginx.clojure.net NginxClojureAsynChannel NginxClojureAsynChannel$CompletionListener
            NginxClojureAsynSocket])
  (:import [nginx.clojure.clj Constants])

    "return the error string message from the error code"))

(extend-type NginxHttpServerChannel HttpServerChannel
  (closed? [ch] (.isClosed ch))
  (close [ch] (.close ch))
  (send! [ch data flush? last?]
    (cond
