fun set_stdstreams
do
if self.toolcontext.opt_socket_mode.value then
- var sock = new Socket.server(toolcontext.opt_debug_port.value, 1)
+ var sock = new TCPServer(toolcontext.opt_debug_port.value)
+ sock.listen 1
var ns = sock.accept
+ assert ns != null
sock.close
sys.set_io(ns,ns,ns)
else if self.toolcontext.opt_websocket_mode.value then
- var websock = new WebSocket(toolcontext.opt_debug_port.value, 1)
- websock.accept
- sys.set_io(websock,websock,websock)
+ var websock = new WebSocketListener(toolcontext.opt_debug_port.value, 1)
+ var cli = websock.accept
+ websock.close
+ sys.set_io(cli,cli,cli)
end
end
fun close_stdstreams
do
- if sys.stdin isa WebSocket or sys.stdin isa Socket then
+ if sys.stdin isa TCPStream then
sys.stdin.close
sys.stdout.close
sys.stderr.close
end
redef class Sys
- private fun set_io(istream: PollableIStream, ostream: OStream, errstream: OStream)
+ private fun set_io(istream: PollableReader, ostream: Writer, errstream: Writer)
do
self.stdin = istream
self.stdout = ostream
- self.stderr = ostream
+ self.stderr = errstream
end
end