Commit Graph

198 Commits (d486de889dcfff27e80e4c06ef8acf4b7e11f0f5)

Author SHA1 Message Date
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