class Async::Bus::Server

Attributes

connected[R]

Public Class Methods

new(endpoint = nil) click to toggle source
# File lib/async/bus/server.rb, line 29
def initialize(endpoint = nil)
        @endpoint = endpoint || Protocol.local_endpoint
        @connected = {}
        
        @context = {}
end

Public Instance Methods

accept() { |connection| ... } click to toggle source
# File lib/async/bus/server.rb, line 38
def accept
        @endpoint.accept do |peer|
                connection = Protocol::Connection.server(peer)
                @connected[peer] = connection
                
                yield connection
                connection.run
        ensure
                connection = @connected.delete(peer)
                connection&.close
        end
end