Skip to content

2.6.3.4 and 2.7.0.0 #296

Description

@kazu-yamamoto

2.7.0.0 should deprecate all APIs which exist in 2.6 but do not exist in 3.0. I would like to create a new 2.7-new branch based on 2.6 and then override current 2.7 in the future. 2.7-new should provide SockAddrCan since 2.7 does not provide a mechanism to extend socket addresses.

Activity

  1. kazu-yamamoto commented on Jan 23, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    Modules to be obsoleted:

    • Network
    • Network.BSD
  2. kazu-yamamoto commented on Jan 23, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    To be obsoleted in Network.Socket:

    • MkSocket
    • htonl, ntohl
    • getPeerCred and getPeerEid
    • send, sendTo, recv, recvFrom, recvLen
    • inet_addr, inet_ntoa
    • isConnected, isBound, isListening, isReadable, isWritable
    • aNY_PORT, iNADDR_ANY, iN6ADDR_ANY, sOMAXCONN, sOL_SOCKET, sCM_RIGHTS
    • packFamily, unpackFamily, packSocketType
    • SockAddrCan (done in 2.6)

    Need to implement:

    • getPeerCredential
    • ifNameToIndex and ifIndexToName
  3. kazu-yamamoto commented on Jan 23, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    Signature changes:

    API 2.7 3.0
    fdSocket Socket -> CInt Socket -> IO CInt
    mkSocket CInt -> Family -> SocketType -> ProtocolNumber -> SocketStatus -> IO Socket CInt -> Socket
  4. kazu-yamamoto commented on Jan 26, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    Done in 2.6.3.4:

    • Socket should be GCed.
    • doc for network-uri-flag
    • examples should locate in the beginning
    • Do not closeFd within sendFd
  5. kazu-yamamoto commented on Jan 26, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    @eborden Now epoch change has been merged into master. So, we can proceed this issue. Do you agree with this approach?

  6. kazu-yamamoto commented on Jan 26, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    Note that some packages are still using Network.BSD instead of getAddrInfo. So, we should release 2.7.0.0 ASAP and wait for enough time to release 3.0.

  7. eborden commented on Jan 26, 2018

    @eborden
    Collaborator

    @kazu-yamamoto Were there other commits in the 2.7.0.0 branch that aren't present in the 2.6.0.0? Are you just going to cherry-pick them over?

  8. kazu-yamamoto commented on Jan 27, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    It's very hard to revert SockAddrCan stuff. So, I'm planning to cherry-pick some from the current 2.7 to 2.7-new.

    But before that, we would have to release 2.6.3.4 with #288 to rescue GHC 8.2.

    Cc: @qrilka

  9. kazu-yamamoto commented on Jan 29, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    I misunderstood. 2.6.3.3 does not have #269, so #288 is meaningless.

    Anyway, I believe we should release 2.6.3.4. I'm working both on 2.6.3.4 and 2.7.0.0. Please wait.

  10. kazu-yamamoto commented on Jan 29, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    @eborden This branch is PoC for 2.6.3.4. I think this branch is read to release. Please review

    This branch is PoC for 2.7.0.0 based on the ticket of this issue. Now I understand that we need steal getPeerCredential to deprecate getPeerCred and getPeerEid.

  11. changed the title [-]2.7.0.0[/-] [+]2.6.3.4 and 2.7.0.0[/+] on Jan 29, 2018
  12. kazu-yamamoto commented on Jan 29, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    Should we just deprecate mkSocket and provide a function of a different name, say, toSocket :: CInt -> Socket?

  13. qrilka commented on Feb 15, 2018

    @qrilka

    @eborden any estimates when new releases could be out?

  14. kazu-yamamoto commented on Feb 15, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    @qrilka Evan is now on vacation. He will come back on 24th.

  15. kazu-yamamoto commented on Feb 15, 2018

    @kazu-yamamoto
    CollaboratorAuthor
  16. kazu-yamamoto commented on Feb 28, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    aa49e91 shows that 2.6 does not have the bug of unix domain.

  17. kazu-yamamoto commented on Feb 28, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    @eborden Would you release 2.6.3.4? No modification is necessary. Just make a tar ball and push it to hackagedb.

  18. kazu-yamamoto commented on Feb 28, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    For 2.7, I will do:

    • Rename the current 2.7 to 2.7-old
    • Create a new 2.7 on the top of 2.6.
    • Send a PR from my poc-2.7.0.0 branch.
  19. eborden commented on Mar 1, 2018

    @eborden
    Collaborator

    @kazu-yamamoto Will get a candidate up today. Thanks for the reminder 😄

  20. eborden commented on Mar 1, 2018

    @eborden
    Collaborator
  21. eborden commented on Mar 1, 2018

    @eborden
    Collaborator

    Candidate published and cafe email sent: http://hackage.haskell.org/package/network-2.6.3.4

  22. kazu-yamamoto commented on Mar 2, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    @eborden Thank you for releasing.

  23. kazu-yamamoto commented on Mar 23, 2018

    @kazu-yamamoto
    CollaboratorAuthor

    Close this in favor of #315.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions