lib/async/http/protocol.rb in async-http-0.30.4 vs lib/async/http/protocol.rb in async-http-0.31.1
- old
+ new
@@ -18,5 +18,29 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
require_relative 'protocol/http1'
require_relative 'protocol/https'
+
+module Async
+ module HTTP
+ # A protocol specifies a way in which to communicate with a remote peer.
+ module Protocol
+ # A protocol must implement the following interface:
+ # class Protocol
+ # def client(stream) -> Connection
+ # def server(stream) -> Connection
+ # end
+
+ # A connection must implement the following interface:
+ # class Connection
+ # def multiplex -> can invoke call 1 or more times simultaneously.
+ # def reusable? -> can be used again/persistent connection.
+
+ # def connected? -> Boolean
+
+ # def call(request) -> Response
+ # def each -> (yield(request) -> Response)
+ # end
+ end
+ end
+end