Joe Groff
9a812cc5c9
io.ports: lift common methods onto buffered-port
2011-10-17 21:23:37 -07:00
Joe Groff
67cccc63b3
formatting
2011-10-17 21:23:36 -07:00
Joe Groff
68621c4d79
io.sockets.windows: recv to byte-array via malloc
...
WSARecvFrom on Windows does its work asynchronously, so the buffer cannot be in the managed heap during the extent of the operation.
2011-10-17 21:23:36 -07:00
Joe Groff
8fc0be3c2f
io.sockets: remove unix.ffi inserted by auto-use
2011-10-17 21:23:36 -07:00
Joe Groff
5d0ff43613
io.sockets: receive directly into byte array
2011-10-17 21:23:11 -07:00
Joe Groff
20e49c273f
io.sockets: receive-unsafe and receive-into
...
Analogous to read-unsafe/read-into for streams (and thereby TCP sockets), provide receive-unsafe and receive-into words for datagram sockets that receive into a caller-supplied buffer.
2011-10-17 21:23:11 -07:00
Joe Groff
e426512534
more stream-seekable? and stream-length methods
...
- limited-streams and throw-on-eof-streams
- string-readers and byte-readers
2011-10-17 21:23:09 -07:00
Joe Groff
863ab575e3
io.ports: stream-seekable? and stream-length
...
io.files.windows, io.backend.unix: platform-specific backends for those methods
2011-10-17 21:23:08 -07:00
Joe Groff
09f55f82fa
clean up forwarding stream-read-partial-unsafe
...
Now that "io" provides a method on object for stream-read-partial-unsafe that forwards to stream-read-unsafe, individual stream class that don't implement partial reads don't need to provide such a method themselves.
2011-10-17 21:23:06 -07:00
Joe Groff
6f12322bda
kill noncopying-reader mixin, stream-read generic
...
Now that all streams have been updated to implement the stream-read-unsafe protocol, take out the noncopying-reader shim. Turn stream-read and stream-read-partial into plain functions over the -unsafe generics.
2011-10-17 21:23:05 -07:00
Joe Groff
5c945595ee
io.encodings.string: faster decode and encode
...
stream-contents is apparently way slow for decoders. Write decode out more directly as a read1/push loop so it's faster. encode isn't quite as bad, but we can still get a 25% speed improvement by writing to an appropriately sized byte-vector.
2011-10-17 21:23:02 -07:00
Joe Groff
055196d4b7
io.streams.(limited,throwing): read-unsafe methods
2011-10-17 21:23:00 -07:00
Joe Groff
01419b3e6b
io.streams.null: read-unsafe methods
2011-10-17 21:23:00 -07:00
Joe Groff
a3b15543e1
io.ports: implement read-unsafe operations
2011-10-17 21:22:59 -07:00
Joe Groff
7e9dbde99f
io.buffers: factor out buffer-read-unsafe word
...
buffer-read-unsafe returns a length and a pointer into the buffer instead of a copy.
2011-10-17 21:22:59 -07:00
Joe Groff
d5f4b6f155
io.streams.sequence: change to provide read-unsafe
...
Change io.streams.sequence and its children io.streams.byte-array and io.streams.string to implement the -unsafe protocol and mixin noncopying-reader.
2011-10-17 21:22:59 -07:00
John Benediktsson
f20e5df501
io.files.info.unix.linux: fix more M: stack effects.
2011-10-13 17:55:30 -07:00
John Benediktsson
2d8e7c77e8
io.files.info.unix.linux: fix M: stack effect.
2011-10-13 17:38:30 -07:00
John Benediktsson
1987deb359
Fix M: stack effects.
2011-10-13 16:41:17 -07:00
John Benediktsson
24232cb095
io.crlf: add a word that reads an optional CR.
2011-10-12 12:36:54 -07:00
Doug Coleman
7228c2df2c
stream-element-type on output-ports was broken -- it looked for a stream>> slot but no such slot exists. add some unit tests
2011-10-12 01:05:01 -07:00
Doug Coleman
c74402dad9
Fix using list because I'm dumb for developing Windows changes from a Mac.
2011-10-11 13:33:44 -07:00
Doug Coleman
63fa01fd4f
Proper double-quote and backslash escaping for windows command line arguments. Fixes #245 .
2011-10-11 12:21:04 -07:00
Doug Coleman
871dfb9a3a
On Windows, escape command line arguments with double quotes with a backslash: " -> \". Fixes #245 .
2011-10-10 22:24:23 -07:00
Doug Coleman
044a03dc34
On Windows, the overlapped structure high bits were always zero, so reading through a file > 4gb would loop forever.
2011-10-07 15:04:00 -07:00
Doug Coleman
2402345794
Add examples to encode/decode docs.
2011-10-06 13:21:18 -07:00
Slava Pestov
dabbe35bd9
concurrency.mailboxes: linked-thread's error reporting should still work even when debugger.threads is not loaded. This addresses part of #95
2011-10-03 00:24:37 -07:00
Doug Coleman
76580da5d5
Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
...
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183 .
Fixes #209 .
2011-09-29 11:28:28 -07:00
Doug Coleman
e255e9f1cb
Fix typo on datagram docs
2011-09-26 12:27:37 -07:00
John Benediktsson
4f42c72012
specialized-arrays: performed some cleanup.
...
Specifically,
• Created >c-array to be replacement for >T-array.
• Created cast-array to be generic replacement for all T-array-cast words.
• Created c-array@ to be generic replacement for T-array@ words.
• Replaced usages of <T-array> with T <c-array>
• Replaced usages of <direct-T-array> with T <c-direct-array>
• Replaced usages of >T-array with T >c-array
• Replaced usages of T-array-cast with T cast-array
• Replaced usages of malloc-T-array with T malloc-array.
• Removed malloc-T-array.
• Removed T-array-cast.
• Removed T-array@.
• Removed >T-array.
I also added (but didn't change any code to use):
• T c-array-type, returns T-array
• T c-array?, returns T-array?
• c-array{ T ... }, returns T-array{ ... }
Bootstraps just find on Mac OS X. Also `load-all test-all` works for me.
2011-09-26 11:37:51 -07:00
John Benediktsson
baac978767
Removing "to:" syntax from values.
...
Squashed commit of the following:
commit 18fef6bfa59f71dcb63b439f631c735848a9bbbb
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Mon Sep 26 11:02:26 2011 -0700
vocabs.metadata: revert mistaken change.
commit 496b103b54034ea953882a039c08847d0eda0bb4
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Sun Sep 25 19:03:54 2011 -0700
values: Removing "to:" syntax.
2011-09-26 11:08:26 -07:00
Doug Coleman
bf2a96e9e0
Remove Windows CE from core/ basis/ and build-support/
...
Rename the winnt singleton to windows in core/ basis/ extra/
Rename boot images winnt -> windows
Fixes #84 .
2011-09-18 23:19:06 -05:00
Doug Coleman
1b20b0c476
Make sure 0 read always returns f. Fixes issue #70 .
...
More unit tests, fix read-until to return f f sometimes
Rename ((read-until)) to read-until-loop. Fix the stack effect declarations of (read) and handle-readln.
2011-09-09 18:51:06 -07:00
Doug Coleman
56e8ddb9cb
Fix windows unit test
2011-09-07 00:35:03 -07:00
Doug Coleman
5fce2d0f27
Make "quiet" true by default. Disable quiet mode for listener, bootstrap, and deploy tool.
...
Move "quiet" to parser-quiet? in parser.notes. Change a few places where quiet was handle wrong.
2011-09-06 17:58:12 -07:00
Slava Pestov
a8633d28c7
unix.*, io.directories.unix: remove unnecessary dependency on io.backend.unix
2011-09-01 22:31:45 -07:00
John Benediktsson
39b800907c
io.files.windows: add some tests cases for UNC paths. Fixes #44 .
2011-08-28 12:55:09 -07:00
John Benediktsson
3949c53343
Merge remote-tracking branch '8byte-jose/win32-unc-fix'
2011-08-28 11:46:43 -07:00
John Benediktsson
9f34c9c676
Spelling fixes to documentation.
2011-08-26 16:20:31 -07:00
Doug Coleman
4d38a02316
Revert "Try to read instead of write from a TCP connection. This gives 'Connection refused' instead of 'Broken pipe', which is much more useful."
...
This reverts commit 088c367b77 .
2011-08-26 13:55:52 -05:00
Doug Coleman
b7314a68d8
Try to read instead of write from a TCP connection. This gives 'Connection refused' instead of 'Broken pipe', which is much more useful.
2011-08-26 11:03:01 -05:00
Slava Pestov
ce9b311b10
io.pipes: add unit test for Linux x86-64 epoll() problem
2011-08-25 21:37:26 -07:00
Slava Pestov
dfc7326413
io.thread: if the I/O thread throws an error, call out to the fep immediately instead of going through the normal thread error mechanism, which by that point won't work anyway
2011-08-25 21:36:57 -07:00
John Benediktsson
d7d1b6fea1
io.sockets: check ipv4 and ipv6 for valid address strings.
2011-08-19 14:19:09 -07:00
Erik Charlebois
662bc3b07b
Fix bugs in unix ffi usage
2011-05-23 23:36:14 -04:00
Erik Charlebois
013209bd17
epoll working on linux
2011-05-23 23:36:13 -04:00
John Benediktsson
013097e617
io.launcher: fix launcher examples.
2011-04-17 18:12:23 -07:00
Anton Gorenko
090254d671
ui.backend.gtk: fix a bug with endless error messages in a console after closing of UI;
...
io.thread: start-io-thread always starts io-thread even if it was stopped, fix line endings;
2011-04-01 22:06:07 +06:00
Slava Pestov
db29973ccb
io.sockets: fix unit test on Windows
2011-02-27 14:38:47 -08:00
Slava Pestov
c0de0ac15f
Merge branch 'doc-fixes' of git://github.com/keitahaga/factor
2011-02-25 22:37:39 -08:00
Slava Pestov
266c6d32e7
io.sockets: add scope-id to ipv6 addrspecs, fixing a problem with connecting to localhost on Mac OS X (and other systems) where localhost is associated with a link-local address such as fe80::1
2011-02-25 22:33:28 -08:00
Slava Pestov
78a85d0b05
io.sockets.secure.unix: update unit test for close-notify change
2011-02-25 21:05:56 -08:00
Keita Haga
e374d55d09
io.encodings.8-bit.latin9, io.encodings.shift-jis: fix typo in docs. offical => official
2011-02-21 02:53:35 +09:00
Keita Haga
93b3cc0a93
io.styles: remove a nl in usage example of background
2011-02-20 06:11:31 +09:00
Keita Haga
2696c59aab
io.sockets: fix a few typos in docs
2011-02-06 17:40:03 +09:00
Slava Pestov
4270c6cce6
io.sockets.secure.unix: fix socket shutdown handling to make http.client work with https://www.google.com
2011-01-31 23:45:45 -05:00
Slava Pestov
cc06c4e51f
openssl: remove cacert.pem, since its useless and we should call SSL_CTX_set_default_verify_paths instead
2011-01-29 23:26:29 -05:00
8byte-jose
b3f0ff51aa
fixed handling of UNC paths under windows
2011-01-25 13:32:21 +01:00
Keita Haga
23ec49a109
io.servers: fix a couple of typos in docs
2011-01-14 19:47:52 +09:00
Keita Haga
a093c454c1
io.launcher: fix typo in docs
2011-01-08 23:10:35 +09:00
Keita Haga
d5fe4fecc1
remove useless whitespace in several documentation
2011-01-05 15:55:34 +09:00
Slava Pestov
13d6c6a698
Update code for alien.data changes
2010-12-26 02:08:57 -06:00
Slava Pestov
75560699ea
Move <ref>, deref and little-endian? from alien.c-types to alien.data, remove <c-object>
2010-12-25 16:55:36 -08:00
Keita Haga
7a9591674c
io.directories.search: fix a couple of examples
2010-12-23 05:15:20 +09:00
Keita Haga
c3189054d1
io.files.info.unix, sequences: few $examples and $unchecked-examples turn into $codes
2010-12-23 04:05:06 +09:00
Keita Haga
08656749bf
io.styles: add using to all examples plus fix formatting in some examples
2010-12-04 21:25:12 +09:00
Keita Haga
04aeadbb15
io.files.info.unix: fix IN: in docs
2010-11-18 04:29:36 +09:00
Keita Haga
08cb8a4848
io.files.info.unix: fix a couple of set-file-permissions examples
2010-11-18 03:46:02 +09:00
Keita Haga
ae7b44e5eb
io.directories: fix typo in example
2010-11-14 17:18:56 +09:00
Slava Pestov
c4a83d2d0b
io.servers: don't try to open SSL sockets if they're not supported on the current platform (ie, Windows)
2010-11-13 18:32:10 -06:00
Doug Coleman
4ca9bd0bba
Remove usages of <void*> and *void*
2010-10-25 13:22:50 -05:00
Doug Coleman
1f57dc326e
Remove many uses of <int> and *int etc
2010-10-25 12:49:12 -05:00
Slava Pestov
b10897334c
io.sockets.secure: add ssl-supported? hook, and make furnace.auth and twitter vocabs use it. This makes furnace work on Windows
2010-10-24 15:54:19 -07:00
Slava Pestov
fbbaef70c4
Remove stream-peek and stream-peek1, re-implement dns vocab to not need this abstraction
2010-10-08 18:55:13 -07:00
Doug Coleman
7367ff19c4
Add a method on url-addr for local ports
...
Remove test for code that got reverted
2010-10-08 08:42:19 -07:00
Doug Coleman
d462355035
Implement and document stream-peek
2010-10-08 06:34:19 -07:00
Doug Coleman
f7af445625
Add stream-peek1 and remove it from images.gif and dns. Add sequence-peek but not stream-peek (yet?)
2010-10-08 06:34:17 -07:00
Slava Pestov
89ae9d9638
Various cleanups for Doug's recent socket addressing change
...
- urls: now have a host/port slots again, add a new set-url-addr word
- http.server: fix host header parsing for IPv6 addresses
2010-10-06 23:00:38 -07:00
Doug Coleman
32f447d796
Since ip4/ip6 services can run on different ports, we must include which version of ip we're using instead of just a port. Make URL objects store an inet4/i nt6/inet object with host/port slots instead of storing host/port slots separately. Stricter error checking on inet4/inet6 tuple creation. Update lots of code related to the URL change.
2010-10-05 09:56:29 -05:00
Doug Coleman
e48c28359e
Fix io.streams.throwing word and write docs for it. Fix typo in io.streams.limited docs
2010-09-27 20:20:48 -05:00
Doug Coleman
0bbfa64b24
Squashed commit of the following:
...
commit 54b3e19c7407707fabddd53872559c58cd5143d2
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Mon Sep 27 19:10:15 2010 -0500
Fix typo
commit 3207516dc93e0e1edc9f119efcc79f4484eab244
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Mon Sep 27 19:08:30 2010 -0500
Rename io.servers.connection to io.servers
2010-09-27 19:12:33 -05:00
Doug Coleman
4ade3b6a5c
Clean up io.servers.connection >insecure word
2010-09-27 19:00:54 -05:00
Doug Coleman
b03268f047
Make secure-context persist longer than a millisecond when a server gets started.
2010-09-27 18:57:14 -05:00
Slava Pestov
2fb36ea1c5
io.sockets: minor cleanup
2010-09-24 01:17:33 -07:00
Doug Coleman
a2a598546f
Only return ipv4 addresses for binding to on linux.
2010-09-23 13:20:18 -05:00
Doug Coleman
8d3cb0d596
Remove test for icmp sockets since extra/ping implicitly tests this
2010-09-22 00:55:18 -05:00
Doug Coleman
2c42e616b4
Implement a raw port. Make ping only run on Windows and Mac because the other platforms require root privs.
2010-09-21 22:00:18 -05:00
Doug Coleman
a60afaf0ec
Use SOCK_RAW for ICMP sockets on windows
2010-09-21 20:03:48 -05:00
Doug Coleman
7b0a50e7d2
Squashed commit of the following:
...
commit 90deaafa9db083ecdb9e0e30ad3694317e616399
Merge: f392dfd 32cf7bb
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Tue Sep 21 00:33:37 2010 -0500
Merge branch 'icmp-ping' of git://github.com/mrjbq7/factor into icmp-ping2
commit 32cf7bb0e0b876309bce248944dfeca243f02594
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Fri Sep 10 14:01:47 2010 -0700
ping: Adding a simple IPv4 ping implementation.
commit da0c5ce7acf1407256c3ac2b98ac5b68858878c1
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Fri Sep 10 14:01:15 2010 -0700
io.sockets.icmp: Adding ICMP support.
commit 60fdf7e7d995d63c11be87e8e1398f7bdd593833
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Fri Sep 10 14:00:48 2010 -0700
io.sockets: Adding protocol support for sockets.
commit 2f130f1f9e0e2ea44d798beaad244a9c33b0d86a
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Fri Sep 10 14:00:28 2010 -0700
Adding getprotobyname().
2010-09-21 11:15:33 -05:00
Doug Coleman
b98f4c13ce
Let the server start before trying to clean it up
2010-09-21 00:20:44 -05:00
Doug Coleman
140aa80379
Don't try to use ipv6 addresses if an OS can't bind to them
2010-09-20 23:53:18 -05:00
Slava Pestov
3bd23f2414
io.directories.hierarchy: add some tests
2010-09-20 21:36:22 -07:00
Doug Coleman
8aa22487da
Fix io.servers -- if it doesn't start up, don't throw an error when it's stopped. IPV6 must be enabled on windows with the command: ipv6 install (the build machines need this before we get clean windows builds). Fix up winsock error handling.
2010-09-19 21:35:52 -05:00
Doug Coleman
fd502e2c85
Fix using list
2010-09-19 19:14:56 -05:00
Doug Coleman
f791c8c5d2
Squashed commit of the following:
...
commit 197dbe9a6733775ac0ea19b3da4bd4dc3c85418c
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 18 19:01:38 2010 -0500
Fix bootstrap, move privileges to windows.privileges
commit 521c622f8afb15bf42d263c738cb990560dc29cb
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 18 18:26:30 2010 -0500
Hopefully fix bootstrap
commit eb3f22928b59758b9505430034044b5b94705da2
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 18 18:19:05 2010 -0500
Remove wince from factor codebase
commit 619d6c99415f46208a7ede6a04b0ccda46b15360
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 18 16:07:46 2010 -0500
Remove Windows CE from vm/
2010-09-19 19:13:25 -05:00
Doug Coleman
87ec88ff6c
Fix http tests and io.server.connection docs
2010-09-19 15:47:25 -05:00
Doug Coleman
aa8c12a84b
Squashed commit of the following:
...
commit 8a15381d30508b8f36a9e36dc3a0afc3c962c853
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sat Sep 11 14:32:30 2010 -0500
Squash threaded-server branch
2010-09-19 13:38:02 -05:00
Doug Coleman
4a018ebdfc
Squashed commit of the following:
...
commit fbec7374aa3f99d8f76499183920e537dc7f38b1
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sun Sep 19 13:28:47 2010 -0500
Remove random.combinators vocab
commit 74f91aca4a961879ec57ef56114eadd5e9f6dcee
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sun Sep 19 13:28:22 2010 -0500
Rename random.combinators to combinators.random. Add random.data vocabulary
commit f616c3f4ceac48ac6f48836040130ba4f090c47f
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sun Sep 19 13:14:01 2010 -0500
Add execute-random combinator, docs, and respace a few things..
commit 1ce17507e3767c78e14ecf5e27e542168a47b2a2
Merge: db359d6 b53fc83
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Sun Sep 19 12:55:53 2010 -0500
Merge branch 'random-combinators' of git://github.com/jonenst/factor into random-combinators
commit b53fc830f3319e9bdfce02674ea480f69e1453db
Author: Jon Harper <jon.harper87@gmail.com>
Date: Mon Aug 23 17:16:21 2010 +0200
Random combinators vocabulary
2010-09-19 13:29:43 -05:00
Doug Coleman
7122f9fccb
Make sure io.backend.windows loads the implementations for the generics it defines. Make windows.handles not depend on io.timeouts. Fix typo in win32-file-attributes. Fix bug in null-output word. Clean up error checking code.
2010-09-17 14:19:10 -05:00
Doug Coleman
06e3fc84a6
Trim using lists for io.files.windows
2010-09-16 16:10:38 -05:00