Hi!
I'm new to the list. I'm a Spanish C.S. student interested in SmartEiffel.
When I was trying to compile 2.3's tutorial/net/multiplex_server.e,
the compiler returned the following:
****** Fatal Error: Unknown feature `unset_timeout' in type
SOCKET_INPUT_OUTPUT_STREAM.
(For this call, the target `a_io' is of type SOCKET_INPUT_OUTPUT_STREAM.)
The source lines involved by the message are the following:
Line 55 columns 4, 9 in MULTIPLEX_CONNECTION
(/home/max/Desktop/SmartEiffel/tutorial/net/multiplex_connection.e):
a_io.unset_timeout
^ ^
------
Error occurs while compiling. Compilation process aborted.
In addition, I noticed that r8141 changed such file (along with others):
Author: cadrian
Date: 2007-01-27 03:44:04 +0000 (Sat, 27 Jan 2007)
New Revision: 8141
Modified:
trunk/lib/io/input_stream.e
trunk/lib/io/low_level/input_stream_tools.e
trunk/lib/io/terminal/text_file_read.e
trunk/lib/net/low_level/socket.e
trunk/lib/net/socket_input_output_stream.e
trunk/sys/plugins/net/c/net.c
But such changes are not present in today's nightly build (nor in 2.3).
What is going on?
Furthermore, I removed the
a_io.unset_timeout
line, I tried the server and worked almost fine: I found two "bugs".
First, I had to ios.flush the output every time in order to send the
data to the clients (if not, they received it when the connection is
finishing). Second, if a client connects and then cuts the connection
(f.e. ^C with netcat), then the server crashes:
read_line SERVER_SOCKET_INPUT_OUTPUT_STREAM
(...)
======================================
read_line_in SERVER_SOCKET_INPUT_OUTPUT_STREAM
(...)
line 22 column 20 file
/usr/local/SmartEiffel/lib/io/low_level/input_stream_tools.e
===== Top of run-time stack =====
*** Error at Run Time ***: Require Assertion Violated.
*** Error at Run Time ***: not is_filtered and then can_read_line
Note that this _do not occurs_ if the client has sent at least one line.
Maybe both of such bugs are related to the line removed (probably, I
didn't studied it deeply; however, because the example does not
compile, I wanted to contact you first).
Thank you!
Regards,
Miguel Ojeda