llmII
8c938ceff9
Fix for Windows (possibly)
...
Windows does not have <arpa/inet.h> so only include it when not Windows.
2021-09-06 17:48:17 -05:00
llmII
65a6945ea5
Finalize peername and localname
...
Both now do the right thing and give back all information (host and
port) when possible as a tuple of (host port).
2021-09-06 17:35:49 -05:00
llmII
02640812af
Add getsockname (net/localname)
2021-09-06 17:01:09 -05:00
llmII
ba761d5c35
Work in progress - more socket functions
...
When this is complete we'll have getpeername, getsockname and possibly
getpeerid in the net/* API.
2021-09-06 16:15:01 -05:00
sogaiu
025918cfcc
Remove duplicate of method recv-from
2021-07-28 14:44:49 +09:00
sogaiu
ceca0e7f0e
Update net.c with new style core function declarations.
2021-07-26 18:20:06 +09:00
Calvin Rose
49f66a936c
Merge commit 'f4c9064b79d5b32fd74e5ddf25266356c22dd53b'
2021-04-29 15:58:41 -05:00
Calvin Rose
612eaff9ff
Fix #682 - Don't hardcode size of sun_path.
2021-04-15 14:57:40 -05:00
Calvin Rose
cde4a505cf
Fix #673 - check typed array index bounds as well as buffer count.
2021-03-30 21:14:42 -05:00
Calvin Rose
7c7ff802fa
Add net/shutdown to allow better networking with streams.
2021-03-26 15:36:25 -05:00
Andrew Chambers
f4c9064b79
Add config support for custom allocators.
2021-03-23 23:00:48 +13:00
Calvin Rose
a18aafedfd
Merge branch 'master' of github.com:janet-lang/janet
2021-01-22 12:53:28 -06:00
Calvin Rose
317ab6df6b
Add ev/thread and ev/do-thread.
...
- Also fix setting supervisor with net/accept-loop.
2021-01-22 12:52:45 -06:00
Sunil Nimmagadda
381128364e
Replace malloc + memset with calloc.
...
Fixes an overflow warning from gcc with '-Wstringop-overflow' on
NetBSD-current.
2021-01-21 19:35:57 +05:30
Calvin Rose
5e1a8c86f9
Add more network and subprocess testing with redirection.
2021-01-11 18:32:56 -06:00
Calvin Rose
bf01bf631d
More work on windows networking code.
...
Remove use of WSARecv and WSASend since for whatever reason
they seem suspect. We may want to revisit this later.
2021-01-11 18:00:31 -06:00
Calvin Rose
1f6d0d342b
Fix #566 - bad docstring and bad arity for net/flush.
2021-01-10 12:02:28 -06:00
Calvin Rose
5536ba20a8
Move socket setup code from ev.c to net.c
2021-01-10 11:58:47 -06:00
Calvin Rose
2abb87eb63
Add space in docstring.
2021-01-07 18:57:13 -06:00
Calvin Rose
adc41e31f4
Address #547 - don't drop references.
...
Keep a separate stack for tagged references. May cause pegs to
use more memory but makes the backref and backmatch features much more
powerful.
Also disables the second stack if backref and backmatch are not used in the peg.
2021-01-05 20:27:15 -06:00
Calvin Rose
ab37ee6ebb
Add :all option to ev/read.
...
Brings ev/read more in line with file/read.
2020-12-29 20:37:59 -06:00
Calvin Rose
adc3066dc8
Update doc-format and boot.janet docstrings.
...
Make doc-format respect leading indents, increase the default format
width to better accommodate markdown formatted documentation. We still
need to support single line style doc strings, such as those used
for most c functions which can be a single line of much longer than
80 or 120 characters.
Consecutive whitespace internal to lines is not preserved, though.
2020-11-26 14:58:36 -06:00
Calvin Rose
a7ed3dea4b
Remove some flags in os/open.
2020-11-15 10:06:20 -06:00
Calvin Rose
e546731093
ev_lasterr -> janet_ev_lasterr
2020-11-14 15:24:13 -06:00
Calvin Rose
d50c4ef6da
Try again for windows build.
2020-11-14 15:01:52 -06:00
Calvin Rose
12f09ad2d7
Add ev/pipe and move stream code into ev.c
...
Also adds a lot to the C API and changes things up.
2020-11-14 14:29:11 -06:00
Calvin Rose
b3e88a8d80
Move read/write functions into ev.c from net.c
...
This code can also be used for non-network streams.
2020-11-14 11:48:23 -06:00
Calvin Rose
1a75f68cb2
Fix windows build.
2020-11-12 14:52:02 -06:00
Calvin Rose
caa6576719
Fix formatting.
2020-11-11 15:35:44 -06:00
Calvin Rose
6f1d5d3b73
Add net/listen and net/accept-loop.
...
These are the elements that make up net/server, which has been moved
into pure Janet instead.
2020-11-09 11:18:09 -06:00
Calvin Rose
099a912992
Fix posix regression.
2020-11-08 19:48:44 -06:00
Calvin Rose
56b1ea3726
Include math.h to fix some bugs on 32 bit windows.
2020-11-08 19:06:35 -06:00
Calvin Rose
d6391f2d70
Get windows IOCP working for accept.
...
This also changes the api of servers slightly -
in light of having support for ev tasks, it is probably better
to remove the "simple" server code and replace it with some Janet
or remove it all together. While convenient, it has issues with error
handling and rigidity.
2020-11-08 18:56:13 -06:00
Calvin Rose
07910272e2
Get socket reads and writes working with IOCP.
2020-11-08 10:38:28 -06:00
Calvin Rose
5064d579d4
Add net header instead of ifdef check.
2020-11-03 17:49:09 -06:00
Calvin Rose
4d21b582c7
Improve reading and writing from streams.
...
Handle errors earlier, and allow 0 length packets from UDP
but not from TCP. This should more closely follow the exact specs
of send and recv calls.
2020-11-02 09:06:31 -06:00
Calvin Rose
f517cccf7b
Fix unix domain sockets.
...
Also allow abstract unix domain sockets on Linux
(prefixed with '@' as is customary).
2020-11-02 08:16:28 -06:00
Calvin Rose
88c1cf3ee7
Reformat files.
2020-10-11 09:33:07 -05:00
Calvin Rose
964a800d51
More work on windows event loop code.
2020-10-06 19:07:29 -05:00
Calvin Rose
db67538311
Work on getting ev support on windows.
2020-10-04 12:46:15 -05:00
Calvin Rose
86e00e865e
Merge branch 'master' into ev
2020-08-23 11:25:04 -05:00
Calvin Rose
30522bbf7d
Merge branch 'master' into ev
2020-08-16 17:52:36 -05:00
Calvin Rose
06c268c274
Start working on throwing errors from async functions.
2020-08-11 08:33:24 -05:00
Calvin Rose
9b36e2b145
Be aggressive with setting SO_NOSIGPIPE on BSD/Apple.
2020-08-10 18:59:53 -05:00
Calvin Rose
ca75f8dc20
Address #463 - prevent sigpipe on client connections.
...
We erroneously did not set SO_NOSIGPIPE on connections aquired with
net/connect, only those quired thorugh net/server. This meant that
failed writes by a client could send sigpipe.
2020-08-10 18:45:44 -05:00
Calvin Rose
6f2f3fdb68
Return an error message if writes fail. Address #462 .
2020-08-10 11:06:31 -05:00
Calvin Rose
ba08e487cb
Disable PRF by default.
...
Since it is not any better by default without initializing the key, we
disable it by default. It can be turned on with JANET_PRF in
janetconf.h.
2020-07-25 13:34:40 -05:00
Calvin Rose
553b4d9428
Add timeouts to net functions.
...
Further debugging of the general timeout system, as well
as having a single fiber wait on multiple state machines (select).
2020-07-19 19:41:12 -05:00
Calvin Rose
cd197e8be3
Add ev/call.
...
This is a common operation, and making fibers manually can be tedious.
2020-07-06 19:13:32 -05:00
Calvin Rose
a0abf307b4
Merge branch 'master' into ev
2020-07-03 12:14:48 -05:00