Doug Coleman
bcc86baf45
io.sockets: Minor cleanup.
2012-08-26 00:04:53 -07:00
Doug Coleman
30673f65cf
io.ports: More correct memory handling. There are still leaks in the tests...
2012-08-25 19:44:22 -07:00
John Benediktsson
8343c88f4d
io.sockets: fix stack effect names.
2012-08-02 14:49:50 -07:00
John Benediktsson
2398580eb8
io.sockets.secure.unix.debug: move to io.sockets.secure.debug (not unix specific).
2012-07-19 19:17:52 -07:00
Doug Coleman
1da8666a70
io.sockets.unix: Needs to still use namespaces. Clean up using lists.
2012-07-19 00:53:09 -07:00
Doug Coleman
42f4dc36b2
namespaces: Rename ``bind`` to ``with-variables``. Update a few places that called ``global [ ] with-variables`` to use ``with-global``.
2012-07-19 00:02:47 -07:00
John Benediktsson
5cc30f46f5
using if-zero in more places.
2012-07-16 15:45:21 -07:00
John Benediktsson
f53f6993ec
io.sockets: fix stack effect for <broadcast>.
2012-05-29 15:47:15 -07:00
John Benediktsson
2db76ac23c
io.sockets.windows: get the handle from the handle.
2012-05-29 11:20:55 -07:00
John Benediktsson
51fcae2d8b
io.sockets: adding "broadcast port", ideally would just be +broadcast+ or something, but this works.
2012-05-29 10:46:19 -07:00
Doug Coleman
3507b9bad7
classes:
...
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -07:00
Joe Groff
255d024e51
io.sockets: remove unneeded USING: values
2011-11-29 09:46:51 -08:00
Joe Groff
943596575a
use radix literals
2011-11-23 19:03:40 -08:00
Doug Coleman
067f9830ef
classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches.
2011-11-22 01:56:13 -08:00
Joe Groff
1c99568492
io.sockets.windows: plug receive-from memory leak
...
Should fix #387 .
2011-11-11 17:56:04 -08:00
Doug Coleman
94db86a6db
Make "foo.private" require load foo instead.
...
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201 .
2011-11-02 11:50:03 -07:00
Doug Coleman
51c033a1f6
Fix all failures in the linux64 build email
2011-10-24 19:33:09 -07:00
Doug Coleman
f9257959fd
Rename class to class-of
2011-10-24 06:47:42 -05:00
John Benediktsson
fb2aab3545
Remove unused words. Fixes #132 .
2011-10-19 11:01:16 -07:00
Doug Coleman
24a6895436
io.sockets.windows - Add a using, output count to fix compile error. Not bad for having no Windows box.
2011-10-17 23:28:22 -07:00
Joe Groff
90e1002349
io.sockets: rename (receive) to (receive-unsafe)
2011-10-17 21:23:37 -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
Doug Coleman
e255e9f1cb
Fix typo on datagram docs
2011-09-26 12:27:37 -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
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
John Benediktsson
d7d1b6fea1
io.sockets: check ipv4 and ipv6 for valid address strings.
2011-08-19 14:19:09 -07:00
Slava Pestov
db29973ccb
io.sockets: fix unit test on Windows
2011-02-27 14:38:47 -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
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
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
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
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
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
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
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
140aa80379
Don't try to use ipv6 addresses if an OS can't bind to them
2010-09-20 23:53:18 -05: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
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
5c8316be07
Move win32-handle to windows.handles and update using lists to avoid pulling in the io backend where not necessary
2010-09-16 15:40:36 -05:00
Slava Pestov
afbf4e9cb2
io.sockets: make addrspecs immutable
2010-09-04 18:49:27 -07:00
Slava Pestov
aa2f5ae13f
io.sockets: f 0 <inet4> should work
2010-09-04 15:41:12 -07:00
Slava Pestov
4fc792629e
io.sockets: clean up resolve-host
2010-09-04 14:42:05 -07:00
Slava Pestov
3d461046f0
io.sockets: factor out ipv4 and ipv6 classes for John Benediktsson's upcoming ICMP work)
2010-09-04 14:19:20 -07:00
Slava Pestov
cbb9ff61fb
io.sockets.windows: win32-socket instances were not being unregistered from global disposables hash; also check return value of closesocket
2010-08-15 00:05:27 -05:00
Slava Pestov
446ee6896d
alien.data: remove second quotation parameter from with-out-parameters, now all values are copied properly and calling 'clone' on structs in this quotation is not necessary
2010-07-16 17:32:05 -04:00
Sascha Matzke
c746b68c28
added doc for with-local-address
2010-06-16 22:54:53 +02:00
Slava Pestov
70a99e1cdb
Updating code to use with-out-parameters
2010-05-23 03:07:47 -04:00
Slava Pestov
627295f094
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
2010-05-06 17:21:02 -04:00
Slava Pestov
c9db8f4269
io.sockets: update <datagram> docs
2010-04-27 10:52:19 -04:00
Joe Groff
f3dd625de6
"stdcall" -> stdcall
2010-03-31 19:29:04 -07:00
Joe Groff
65c3259761
"cdecl" -> cdecl
2010-03-31 19:20:35 -07:00
Joe Groff
7844cbafab
missed a dead memory>struct in io.sockets
2010-02-22 19:09:03 -08:00
Joe Groff
ed18b911c8
io.sockets.windows.nt: update string c-types in alien-indirect
2010-02-21 16:49:44 -08:00
Slava Pestov
95bfc8a240
vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases
2010-02-20 13:30:49 +13:00
Doug Coleman
af96673458
Better fix for ipv6
2010-01-24 15:57:06 -06:00
Doug Coleman
ef5baa5b67
Handle IPv6 addresses of the form ::127.0.0.1
2010-01-24 15:40:34 -06:00
Doug Coleman
7c40fc1a36
unix-system-call io-error -> unix-system-call drop
...
make unix.ffi, unix.ffi.linux unportable
fix spacing in io.cpp before refactoring
2010-01-23 09:07:35 -06:00
Doug Coleman
8d952277a2
Handle EINTR in a lot of cases where it wasn't handled before. Split off unix into unix.ffi and unix.
2010-01-22 12:59:24 -06:00
Doug Coleman
07fcb43a06
Make unix-system-call retry the call immediately upon hitting EINTR. Use unix-system-call wherever EAGAIN or EINPROGRESS are not handled. Handle EINTR if connect returns it.
2010-01-22 12:59:17 -06:00
Doug Coleman
41082b5b12
Fix minor typo in <server> docs
2010-01-17 23:13:20 -06:00
Slava Pestov
0612bc6177
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Slava Pestov
5ccce283fa
Various Windows load fixes
2009-11-21 17:24:37 -06:00
Slava Pestov
ffd7de02d6
Update a few places that used string C type names to use words; fixes some deploy tests
2009-11-20 03:21:48 -06:00
Doug Coleman
cc194416f9
Merge branch 'master' into startup
...
Conflicts:
core/bootstrap/primitives.factor
vm/run.hpp
2009-11-15 02:52:50 -06:00
Doug Coleman
1ff1e3f4bc
add docs to 8-bit encodings vocabs, update usages
2009-11-12 18:36:20 -06:00
Doug Coleman
17f0a5d41a
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-28 17:26:23 -05:00
Doug Coleman
e376a0ece2
(normalize-path) -> absolute-path, canonicalize-path -> resolve-symlinks
2009-10-28 17:25:50 -05:00
Joe Groff
6e1bffb1c5
update existing code to use :> ( ) when possible
2009-10-28 16:11:33 -05:00
Joe Groff
935c0797c3
update existing code for [let change
2009-10-27 22:05:37 -05:00
Slava Pestov
d05127644e
io.sockets.windows: fix USING: list
2009-10-23 03:40:02 -05:00
Sascha Matzke
a36e7ff40a
added with-local-address to bind the local address of a socket to a specific IP or IP/port combination (sometimes required to get through firewalls)
2009-10-23 08:10:03 +02:00
Doug Coleman
5b4c1aea5d
run bootstrap and startup hooks inside a with-destructors. use &dispose instead of setting shutdown hooks in a couple of places
2009-10-20 18:26:10 -04:00
Doug Coleman
6b6e56a179
change add-init-hook to add-startup-hook, new add-shutdown-hook word
2009-10-19 22:17:02 -04:00
Keith Lazuka
405e5d015b
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Joe Groff
e6bc708882
update openssl.libcrypto structs
2009-09-18 17:50:20 -05:00
Joe Groff
076ab42dc3
move some allocation words that don't really have much to do with c types out of alien.c-types into a new alien.data vocab
2009-09-17 22:36:05 -05:00
Slava Pestov
223b907219
Fix sockets on Windows, and re-organize things so that windows.winsock doesn't get loaded by default
2009-09-04 05:02:33 -05:00
Slava Pestov
742db564f3
io.sockets: fix to work in deployed apps
2009-09-04 03:57:57 -05:00
Doug Coleman
c6fcb32136
WHAMMY! convert io.sockets.unix
2009-09-03 17:08:54 -05:00
Doug Coleman
475530ef3d
update network structs. NO WHAMMY, NO WHAMMY, NO WHAMMY...STOP!!!
2009-09-03 16:57:36 -05:00
Doug Coleman
d88cdffa47
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-29 23:39:20 -05:00
Slava Pestov
1f40ea64f0
io.sockets.unix: cleanup two usages of 'rot' and use struct setter instead of memcpy
2009-08-30 22:21:14 -05:00