Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DRAFT] Initial socket support #30

Draft
wants to merge 27 commits into
base: main
Choose a base branch
from

Commits on Apr 10, 2021

  1. WIP: basic socket support

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    6f8cf01 View commit details
    Browse the repository at this point in the history
  2. WIP: shutdown

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    6e4b421 View commit details
    Browse the repository at this point in the history
  3. WIP: listen

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    d9a1323 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    22f9f41 View commit details
    Browse the repository at this point in the history
  5. WIP: send/recv

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    9b4700f View commit details
    Browse the repository at this point in the history
  6. WIP: socket options

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    9014393 View commit details
    Browse the repository at this point in the history
  7. WIP: Socket get/set options

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    aae1ff5 View commit details
    Browse the repository at this point in the history
  8. Add nice wrappers for sockaddr and sockaddr_in (#1)

    Add Swifty wrappers for socket and IP addresses
    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    3d532f3 View commit details
    Browse the repository at this point in the history
  9. WIP: accept, connect, bind

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    241fbbd View commit details
    Browse the repository at this point in the history
  10. Update Sources/System/Sockets/SocketOperations.swift

    Co-authored-by: Kyle Macomber <[email protected]>
    milseman and kylemacomber committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    4f6b42f View commit details
    Browse the repository at this point in the history
  11. Update Sources/System/Sockets/SocketOperations.swift

    Co-authored-by: Kyle Macomber <[email protected]>
    milseman and kylemacomber committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    a962528 View commit details
    Browse the repository at this point in the history
  12. Implement local addresses, address families, sendmsg/recvmsg (#2)

    * Implement UNIX domain socket addresses
    
    * Implement standalone SocketAddress.Family enum
    
    * Add availability comments
    
    * [WIP] Implement sendmsg/rcvmsg
    
    * SocketAddress: Use _RawBuffer.
    
    * ControlMessageBuffer: Fix issues uncovered in testing
    
    * Enums: use mutable rawValues
    
    This helps simplify code that needs to update these directly.
    
    * Update/simplify sendmsg/recvmsg implementations
    
    * Mocking: Add support for wildcard argument matching
    
    * Add some AncillaryMessageBuffer tests; fix issues.
    
    * Apply suggestions from code review
    
    Co-authored-by: Michael Ilseman <[email protected]>
    
    * Make mock failure output a little easier to follow
    
    * Implement support for getaddrinfo
    
    * Add an executable with very simple sample code
    
    * Add availability marker for new CInterop typealiases
    
    * Do not use implicitly unwrapped optionals
    
    * Rework sendmsg/recvmsg, make some samples
    
    * Updates/cleanups/discussion results
    
    Co-authored-by: Michael Ilseman <[email protected]>
    lorentey and milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    bca51a4 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    661207f View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    763febd View commit details
    Browse the repository at this point in the history
  15. WIP: some name changes

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    5eec031 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    898e0ef View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    84846f7 View commit details
    Browse the repository at this point in the history
  18. Doc updates

    lorentey authored and milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    008dc40 View commit details
    Browse the repository at this point in the history
  19. Implement getnameinfo.

    lorentey authored and milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    ef5f7f5 View commit details
    Browse the repository at this point in the history
  20. WIP: docs and cleanup

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    0fdf652 View commit details
    Browse the repository at this point in the history
  21. Network receptacles (#3)

    * Update getsockopt/setsockopt
    
    * Add getsockopt/setsockopt docs
    
    * Doc updates
    lorentey authored and milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    4afc2de View commit details
    Browse the repository at this point in the history
  22. Socket updates (#4)

    * Update getsockopt/setsockopt
    
    * Add getsockopt/setsockopt docs
    
    * Doc updates
    
    * Add overloads for bind/connect taking concrete address types
    
    * ShutdownKind: Remove Codable conformance.
    
    * Listen: close the client connection socket before exiting
    
    This is supposed to demonstrate acceptable use, we can’t leave resource cleanup to exit()
    
    * Make IPv4.Address and IPv6.Address expressible by string literals
    
    * Document SocketAddress better.
    lorentey authored and milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    051731d View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    e7f6310 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    2b0b28c View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    485efdd View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    4e38f69 View commit details
    Browse the repository at this point in the history
  27. Separate test target

    milseman committed Apr 10, 2021
    Configuration menu
    Copy the full SHA
    ce12fda View commit details
    Browse the repository at this point in the history