22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/equity/node.rb', line 22
def connect(client)
raise(RuntimeError, 'node is already connected') if connected?
raise(RuntimeError, 'node has been shut down') if shutdown?
begin
@client = client
@server = TCPSocket.new(@address, @port)
@server.extend SocketPairing
@server.pair_with(client)
@counter += 1
begin
nameinfo = Socket.getnameinfo(@client.getpeername,
Socket::NI_NUMERICHOST | Socket::NI_NUMERICSERV)
@client_address, @client_port = nameinfo
rescue
@client_address, @client_port = "???", "???"
end
@server
rescue Exception => e
@client = nil
@server = nil
@failure_counter += 1
raise e
end
end
|