Commit Graph

54 Commits (fdc9e2b0767b49b70a2b74bb68f420d0a65d9eb5)

Author SHA1 Message Date
Joe Groff fdc9e2b076 io.sockets: remove unneeded USING: values 2011-11-29 09:46:51 -08:00
Doug Coleman 14dbf929ee 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
Doug Coleman be12f2b27d 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 96da8df16e Rename class to class-of 2011-10-24 06:47:42 -05:00
John Benediktsson f3b4b80be4 Remove unused words. Fixes #132. 2011-10-19 11:01:16 -07:00
Joe Groff 71370f9e33 io.sockets: rename (receive) to (receive-unsafe) 2011-10-17 21:23:37 -07:00
Joe Groff 1214c004da io.sockets: remove unix.ffi inserted by auto-use 2011-10-17 21:23:36 -07:00
Joe Groff ffaaf2912f io.sockets: receive directly into byte array 2011-10-17 21:23:11 -07:00
Joe Groff 77b6a1328d 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
John Benediktsson 4e11474d34 io.sockets: check ipv4 and ipv6 for valid address strings. 2011-08-19 14:19:09 -07:00
Slava Pestov cb561b683b io.sockets: fix unit test on Windows 2011-02-27 14:38:47 -08:00
Slava Pestov 4106ddc10f 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
Doug Coleman 6510bdb1eb Remove usages of <void*> and *void* 2010-10-25 13:22:50 -05:00
Doug Coleman 40bdadcac4 Remove many uses of <int> and *int etc 2010-10-25 12:49:12 -05:00
Slava Pestov 8e772338ee 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 b7c225116b 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
Slava Pestov 57c8ade074 io.sockets: minor cleanup 2010-09-24 01:17:33 -07:00
Doug Coleman 28df3e407a Only return ipv4 addresses for binding to on linux. 2010-09-23 13:20:18 -05:00
Doug Coleman e1a34c1caf 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 a58278d0a3 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 30de69e6f9 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 43624e037c 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
Slava Pestov a22f419ba4 io.sockets: make addrspecs immutable 2010-09-04 18:49:27 -07:00
Slava Pestov 7ecdda22c3 io.sockets: f 0 <inet4> should work 2010-09-04 15:41:12 -07:00
Slava Pestov eece1e30df io.sockets: clean up resolve-host 2010-09-04 14:42:05 -07:00
Slava Pestov f9ec0acb27 io.sockets: factor out ipv4 and ipv6 classes for John Benediktsson's upcoming ICMP work) 2010-09-04 14:19:20 -07:00
Joe Groff f8160f8d48 missed a dead memory>struct in io.sockets 2010-02-22 19:09:03 -08:00
Doug Coleman 91c25e2a48 Better fix for ipv6 2010-01-24 15:57:06 -06:00
Doug Coleman 26a5085499 Handle IPv6 addresses of the form ::127.0.0.1 2010-01-24 15:40:34 -06:00
Doug Coleman cc7615248d 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
Slava Pestov 08b6ebc7fa Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Sascha Matzke f8a25f5db5 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
Joe Groff 4a1422e7fe 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 33c09acbb5 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 950236b6a8 io.sockets: fix to work in deployed apps 2009-09-04 03:57:57 -05:00
Doug Coleman 62261f18fe update network structs. NO WHAMMY, NO WHAMMY, NO WHAMMY...STOP!!! 2009-09-03 16:57:36 -05:00
Doug Coleman 250f756e89 use concat-as 2009-06-10 16:01:46 -04:00
Slava Pestov 3ebd4594e8 Implement stricter vocab search path semantics, with a new API for vocabs.parser. Add map-find-last to sequences vocab 2009-05-14 22:31:29 -05:00
Slava Pestov d7db5edadc Cleaning up USING: lists for new strict semantics 2009-05-14 16:54:16 -05:00
Slava Pestov b1bcc44dd5 Rename use+ to add-use, move search to vocabs.parser, EXCLUDE: bombs out if word doesn't exist 2009-05-13 22:15:48 -05:00
Slava Pestov 1c123e7e22 Remove some usages of -rot and tuck 2009-04-18 21:53:22 -05:00
Samuel Tardieu 573c150409 inet6 address components cannot be stored as bytes as they are 16 bits long 2009-01-16 11:06:32 +01:00
Slava Pestov c5160d76e9 Merge qualified, alias, symbols, constants into core 2008-12-17 18:10:01 -06:00
Slava Pestov 50e214c152 io.files split up and general refactoring work in progress 2008-12-14 20:03:00 -06:00
Slava Pestov ada08e6d0e Removing prettyprint and debugger dependencies from io code 2008-12-08 19:45:48 -06:00
Doug Coleman db30415dcb basis: swap 3append -> glue 2008-12-03 19:10:41 -06:00
Slava Pestov 4ec8326917 Move underlying-handle word from io.launcher to io.ports, add a new underlying-port word
Add a remote-address symbol to io.sockets, with-client binds it, ditto for io.servers.connection
io.sockets.secure now has two new words, send-secure-handshake, accept-secure-handshake, to upgrade existing connections
2008-11-30 13:46:39 -06:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 2e48915f9c Strip out C I/O if native I/O enabled 2008-10-02 03:38:36 -05:00
Slava Pestov 78008e9904 Better connection logging 2008-09-22 16:09:10 -05:00