class Pione::Relay::ReceiverSocket
Public Class Methods
open(uri, config)
click to toggle source
Raises an error. You cannnot open receiver socket on caller side.
# File lib/pione/relay/receiver-socket.rb, line 26 def self.open(uri, config) raise DRb::DRbBadScheme.new(uri) end
open_server(uri, config)
click to toggle source
Creates a fake connection. @api private
# File lib/pione/relay/receiver-socket.rb, line 32 def self.open_server(uri, config) # reverse socket needs URI always raise ArgumentError.new("You should specify receiver URI.") unless uri # get config host, port, option = parse_uri(uri) # retrieve socket by rev_id key = "%s:%s" % [host, port] unless @@table.has_key?(key) raise ReceiverSocketError.new("No socket for %s." % uri) end socket = @@table[key] # create an instance with relay socket return self.new(uri, socket, config) end
parse_uri(uri)
click to toggle source
Parses special URI
for reverse scheme.
# File lib/pione/relay/receiver-socket.rb, line 13 def self.parse_uri(uri) if uri =~ /^receiver:\/\/(.*?):(\d+)(\?(.*))?$/ host = $1 port = $2.to_i option = $4 [host, port, option] else raise(DRb::DRbBadScheme, uri) unless uri =~ /^receiver:/ raise(DRb::DRbBadURI, 'can\'t parse uri:' + uri) end end
table()
click to toggle source
# File lib/pione/relay/receiver-socket.rb, line 8 def self.table @@table end
Public Instance Methods
accept()
click to toggle source
Raises an error because the socket cannot accept.
# File lib/pione/relay/receiver-socket.rb, line 51 def accept raise ReceiverSocketError.new("ReceiverSocket cannnot accept connections.") end
alive?()
click to toggle source
# File lib/pione/relay/receiver-socket.rb, line 58 def alive? true end
close()
click to toggle source
# File lib/pione/relay/receiver-socket.rb, line 55 def close end
set_socket(*args)
click to toggle source
# File lib/pione/relay/receiver-socket.rb, line 62 def set_socket(*args) end