Class: MessagePack::RPC::TCPServerTransport

Inherits:
Object
  • Object
show all
Defined in:
lib/msgpack/rpc/transport/tcp.rb

Defined Under Namespace

Classes: ServerSocket

Instance Method Summary collapse

Constructor Details

#initialize(address) ⇒ TCPServerTransport

Returns a new instance of TCPServerTransport.



193
194
195
196
# File 'lib/msgpack/rpc/transport/tcp.rb', line 193

def initialize(address)
	@address = address
	@lsock = nil
end

Instance Method Details

#closeObject

ServerTransport interface



212
213
214
215
216
# File 'lib/msgpack/rpc/transport/tcp.rb', line 212

def close
	return unless @lsock
	@lsock.detach if @lsock.attached?
	@lsock.close
end

#listen(server) ⇒ Object

ServerTransport interface



199
200
201
202
203
204
205
206
207
208
209
# File 'lib/msgpack/rpc/transport/tcp.rb', line 199

def listen(server)
	@server = server
	host, port = *@address.unpack
	@lsock  = Cool.io::TCPServer.new(host, port, ServerSocket, @server)
	begin
		@server.loop.attach(@lsock)
	rescue
		@lsock.close
		raise
	end
end