Commit Graph

107 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 884f3fe921 Added tcp-server-socket-nonblocking, tcp-accept-connection-nonblocking
and register-callback for handling nonblocking servers and connections.
2008-03-23 05:02:12 -04:00
Abdulaziz Ghuloum 2119f44125 Added a simple tcp server facility. See lab/greeting-server.ss. 2008-03-23 03:44:20 -04:00
Abdulaziz Ghuloum 9aaf306f16 Nonblocking sockets no longer raise a continuable exception when a
read or write operation would block.  Instead, they are schedules
with an event handler that `selects' on the pending file descriptors
and dispatches the appropriate callback.
2008-03-23 02:14:00 -04:00
Abdulaziz Ghuloum 6e599c4c72 refactored nonblocking code in ikarus-io.c and ikarus.io.ss 2008-03-23 00:41:49 -04:00
Abdulaziz Ghuloum ce496aebaf * Better error message when a tcp connection is refused.
* implemented udp connections (not working yet).
2008-03-22 19:29:41 -04:00
Abdulaziz Ghuloum f6e5e4d5b4 Added -m32 to CFLAGS/LDFLAGS, updated copyright dates and version no. 2008-01-29 00:34:34 -05:00
Abdulaziz Ghuloum 9ba00f128e Fixes big 185268: open-string-input-port type check die message missing 2008-01-23 02:17:25 -05:00
Abdulaziz Ghuloum a33269daa7 Fixes bug 184959: get-bytevector-some missing 2008-01-22 10:59:04 -05:00
Abdulaziz Ghuloum 313e59bc92 slightly enhanced error message for attempting to transcode a port
using an unsupported line-style (the only supported one is "none" as
of now).
2008-01-22 03:30:52 -05:00
Abdulaziz Ghuloum 264c58c4a4 Working on bug 184993: Writing to zombie process causes Ikarus to exit. 2008-01-21 23:29:04 -05:00
Abdulaziz Ghuloum cc7066441c Added put-bytevector. 2008-01-20 20:30:37 -05:00
Abdulaziz Ghuloum 0142ba2315 - Added an optimization to the base record constructors for args up
to 4.
2008-01-19 18:15:18 -05:00
Abdulaziz Ghuloum 497d2ea8ed increased IO block-size from 4K to 16K. 2008-01-19 14:51:14 -05:00
Abdulaziz Ghuloum 323d1037ea - Fixed a performance bug that caused slowness in read-char for IO
intensive code (cat, tail, wc)
2008-01-19 13:50:53 -05:00
Abdulaziz Ghuloum 2dc4542148 Reimplemented the guardians collector which was yellowing out since
the last update to the GC.  All tests now run without a glitch.
2008-01-12 17:32:43 -05:00
Abdulaziz Ghuloum 771b9699b5 Fixes bug 179015: Feature request: socket-port's id/name includes
service-name/port
2007-12-28 00:05:44 -05:00
Abdulaziz Ghuloum 64dac92831 Added tcp-connect-nonblocking which is line tcp-connect but puts the
socket in nonblocking mode.  An operation that would block now
raises (continuable) a condition of type &i/o-would-block which
contains the port in question.  There's no way to handle the
condition gracefully yet.
2007-12-27 22:08:27 -05:00
Abdulaziz Ghuloum 4f0a816295 Added a tcp-connect procedure that takes a host name and a service
name (e.g. "www.google.com" and "http") and returns two binary ports:
the first for output and the second for input.
Both ports must be closed for the connection to close.

Also added an example in lab/tcp-connect-example.ss which connects 
to an http server, sends "GET /\n" and prints the responde.
2007-12-26 17:35:58 -05:00
Abdulaziz Ghuloum b8ed235308 Reimplemented open-output-string and get-output-string. 2007-12-26 02:16:02 -05:00
Abdulaziz Ghuloum ab67ee9dad Fixes bug 178385: Closed port giving incorrect error about type
instead of about being closed
2007-12-23 22:28:48 -05:00
Abdulaziz Ghuloum 788b613bba Added call-with-output-file 2007-12-23 15:18:40 -05:00
Abdulaziz Ghuloum 79277bb394 Added with-output-to-string. 2007-12-23 15:12:22 -05:00
Abdulaziz Ghuloum 894a29f0d8 Added with-output-to-file. 2007-12-23 15:06:05 -05:00
Abdulaziz Ghuloum d2de3bcadb Added with-input-from-string. 2007-12-23 14:44:55 -05:00
Abdulaziz Ghuloum 6eb6bf750d Added a (process "cmd" "args" ...) procedure that execs cmd, passing
args to it, and returns 4 values: 
* the process's pid
* the process's standard-input-port  (for writing)
* the process's standard-output-port (for reading)
* the process's standard-error-port  (for reading)
See lab/process-example.ss for a sample usage.
2007-12-19 22:46:07 -05:00
Abdulaziz Ghuloum 10077a6468 minor change to the value returned by input-port-byte-position
(it's up by 1 now).
2007-12-19 19:33:05 -05:00
Abdulaziz Ghuloum 945e8473fc input-port-byte-position works for input files. 2007-12-18 17:25:48 -05:00
Abdulaziz Ghuloum 64e54de392 Added two extra fields to the port data structure. 2007-12-18 15:36:56 -05:00
Abdulaziz Ghuloum df08137b7f fixes bug 176816: &i/o-file-already-exists is now included in the
condition.
2007-12-18 03:58:50 -05:00
Abdulaziz Ghuloum cee16e7463 Fixes bug 176816: Incorrect &who for open-output-file 2007-12-18 03:32:07 -05:00
Abdulaziz Ghuloum 64c20409ce made read-char just as efficient as get-char by copy&paste. 2007-12-15 11:43:04 -05:00
Abdulaziz Ghuloum 8c0563b2d3 fixes bug 173369: errors are supposed to be &assertion 2007-12-15 08:22:49 -05:00
Abdulaziz Ghuloum 08ac2d02f9 Added a comment about why input-transcoder-attrs is missing
'utf-8-codec stuff (bug 176456)
2007-12-14 19:45:50 -05:00
Abdulaziz Ghuloum 5deeb28bbe Fixes bug 175517: Custom textual output port not recognized as a
textual port
2007-12-14 19:42:00 -05:00
Abdulaziz Ghuloum fa27b7e9cd Fixes 1/2 of bug 176207: identifier-syntax second case broken 2007-12-14 01:58:55 -05:00
Abdulaziz Ghuloum 1d4db4b9c9 more unsafe prims in ikarus.io.ss 2007-12-12 23:50:05 -05:00
Abdulaziz Ghuloum 23b71cee3c substantial speedup for new io layer 2007-12-12 21:22:05 -05:00
Abdulaziz Ghuloum 7996ced7c9 removed base-index field from port structs since it was clearly not
used.
2007-12-12 19:59:10 -05:00
Abdulaziz Ghuloum 9dfa179ded enlarged size of initial ports' buffers to be 4096+ bytes. 2007-12-12 19:52:26 -05:00
Abdulaziz Ghuloum a6e1ce0658 given myself a few extra bits in the port attrs for future extensions 2007-12-12 19:47:03 -05:00
Abdulaziz Ghuloum cef06e3121 removed "closed?" field from port struct. 2007-12-12 19:34:28 -05:00
Abdulaziz Ghuloum c659cd3ed6 split io into two libraries by splitting the prims outside. 2007-12-12 19:18:57 -05:00
Abdulaziz Ghuloum eac9829a03 cleanup of tags in ikarus.io.ss 2007-12-12 18:59:19 -05:00
Abdulaziz Ghuloum 3512b4d112 file-based ports are now guarded and their file handles are closed
if the port is dropped and collected.
2007-12-12 01:32:55 -05:00
Abdulaziz Ghuloum 54f683f0e0 Ported match.ss to ikarus. 2007-12-11 17:41:48 -05:00
Abdulaziz Ghuloum 09a02059c6 custom textual ports now return #t for textual-port? (fixes bug 175517) 2007-12-11 06:04:08 -05:00
Abdulaziz Ghuloum 29eb0d1ce0 The size of output ports is now set to be the buffer size (bug 175485) 2007-12-11 03:25:51 -05:00
Abdulaziz Ghuloum 4ef7d157df Fixes bug 175480: Typo in make-custom-textual-output-port error
message
2007-12-11 02:32:29 -05:00
Abdulaziz Ghuloum b6299fbec2 Added make-custom-textual-input-port and make-custom-textual-output-port 2007-12-10 11:11:59 -05:00
Abdulaziz Ghuloum 85a54dbbbf custom-binary-input-files now have their attrs set properly. 2007-12-10 10:56:10 -05:00
Abdulaziz Ghuloum 4a3f9a334a Added tests for custom-binary-output-ports (and fixed it too) 2007-12-10 10:53:17 -05:00
Abdulaziz Ghuloum 8a375a3cf7 Added make-custom-binary-output-port 2007-12-10 10:36:10 -05:00
Abdulaziz Ghuloum 2ac39cfad0 reimplemented open-output-file. 2007-12-10 10:18:52 -05:00
Abdulaziz Ghuloum 921999a3a2 minor fix to string-input-ports 2007-12-10 09:28:48 -05:00
Abdulaziz Ghuloum 1ecadc0ce5 Added missing license stub to ikarus.io.ss 2007-12-10 08:08:50 -05:00
Abdulaziz Ghuloum 7fdeade412 Added console-error-port procedure and redirected all error output
to it.
2007-12-10 07:40:34 -05:00
Abdulaziz Ghuloum 0e38534d2e New IO layer is installed. Still buggy in some area but can be used
for bootstrapping at least.
2007-12-10 07:28:03 -05:00