Sha256: d5103e4f23582f36393f6c0270c5810fe2aaa4452c8d20c38da52d48ed47e5bd
Contents?: true
Size: 826 Bytes
Versions: 23
Compression:
Stored size: 826 Bytes
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2017-2023, by Samuel Williams. 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 concurrency -> can invoke call 1 or more times simultaneously. # def reusable? -> can be used again/persistent connection. # def viable? -> Boolean # def call(request) -> Response # def each -> (yield(request) -> Response) # end end end end
Version data entries
23 entries across 23 versions & 1 rubygems