Class: DRb::HTTP0::Server
- Inherits:
-
Object
- Object
- DRb::HTTP0::Server
- Defined in:
- lib/drb/http0serv.rb
Instance Attribute Summary collapse
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
Instance Method Summary collapse
- #accept ⇒ Object
- #close ⇒ Object
-
#initialize(uri, config) ⇒ Server
constructor
A new instance of Server.
- #push(callback) ⇒ Object
- #setup_webrick(uri) ⇒ Object
Constructor Details
#initialize(uri, config) ⇒ Server
Returns a new instance of Server.
53 54 55 56 57 58 |
# File 'lib/drb/http0serv.rb', line 53 def initialize(uri, config) @uri = uri @config = config @queue = Thread::Queue.new setup_webrick(uri) end |
Instance Attribute Details
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
51 52 53 |
# File 'lib/drb/http0serv.rb', line 51 def uri @uri end |
Instance Method Details
#accept ⇒ Object
69 70 71 72 |
# File 'lib/drb/http0serv.rb', line 69 def accept client = @queue.pop ServerSide.new(client, @config) end |
#close ⇒ Object
60 61 62 63 |
# File 'lib/drb/http0serv.rb', line 60 def close @server.shutdown if @server @server = nil end |
#push(callback) ⇒ Object
65 66 67 |
# File 'lib/drb/http0serv.rb', line 65 def push(callback) @queue.push(callback) end |
#setup_webrick(uri) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/drb/http0serv.rb', line 74 def setup_webrick(uri) logger = WEBrick::Log::new($stderr, WEBrick::Log::FATAL) u = URI.parse(uri) s = WEBrick::HTTPServer.new(:Port => u.port, :AddressFamily => Socket::AF_INET, :BindAddress => u.host, :Logger => logger, :ServerType => Thread) s.mount(u.path, Callback, self) @server = s s.start end |