Branch: refs/heads/main
Revision: 4926cbd
Author: mppf
Link: Unavailable
Log Message:
Merge pull request #17960 from king-11/socket_library
[GSoC 2021] Socket Library
[PR by @king-11 as part of GSoC 2021. Reviewed by @mppf and @e-kayrakli ]
This PR adds an implementation of the Socket library to modules/packages.
This first version has some caveats:
- requires libevent 2.1 or newer
- requires CHPL_TASKS=qthreads right now (fifo doesn't work yet)
- requires the C backend right now (CHPL_TARGET_COMPILER=llvm doesn't work yet)
- requires libevent be available in /usr/include/event2
Design
#17899
Future Work
-
DNS Resolution using libevent
-
IO Plugin using libevent for non-blocking IO
-
sendAll method for UDP and TCP on lines of python's sendAll
-
Make work with LLVM and FIFO
-
Separate Module for Libevent
Modified Files:
A modules/packages/Socket.chpl
A test/library/packages/Socket.skipif
A test/library/packages/Socket/connectblocking.chpl
A test/library/packages/Socket/connectblocking.good
A test/library/packages/Socket/connecttimeout.chpl
A test/library/packages/Socket/connecttimeout.good
A test/library/packages/Socket/ipaddr.chpl
A test/library/packages/Socket/ipaddr.good
A test/library/packages/Socket/ipfamily.chpl
A test/library/packages/Socket/ipfamily.good
A test/library/packages/Socket/ipv6/SKIPIF
A test/library/packages/Socket/ipv6/connect_blocking_ipv6.chpl
A test/library/packages/Socket/ipv6/connect_blocking_ipv6.good
A test/library/packages/Socket/ipv6/connect_timeout_ipv6.chpl
A test/library/packages/Socket/ipv6/connect_timeout_ipv6.good
A test/library/packages/Socket/ipv6/listen_ipv6.chpl
A test/library/packages/Socket/ipv6/listen_ipv6.good
A test/library/packages/Socket/ipv6/udpio_ipv6.chpl
A test/library/packages/Socket/ipv6/udpio_ipv6.good
A test/library/packages/Socket/listen.chpl
A test/library/packages/Socket/listen.good
A test/library/packages/Socket/networkoptimization.chpl
A test/library/packages/Socket/networkoptimization.good
A test/library/packages/Socket/tcpio.chpl
A test/library/packages/Socket/tcpio.good
A test/library/packages/Socket/udpio_ipv4.chpl
A test/library/packages/Socket/udpio_ipv4.good
M modules/Makefile
M modules/standard/Sys.chplCompare: Comparing ef771ff9bad2...4926cbd625c0 · chapel-lang/chapel · GitHub