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