Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-1891

Add Windows ALPC transport which is right counterpart of Unix domain sockets

    XMLWordPrintableJSON

Details

    Description

      Reading about local IPC on Windows leads me to idea that Named Pipes is not the transport should be used where Unix Domain sockets are on Unix. Other, most probably faster, should be.
      ALPC and Unix Domain sockets are similar:
      1. No networking
      2. Simple names (no specific prefix)
      3. Articles impress that Windows ALPC and Unix Domain Sockets use more OS "kernel" then Windows Named Pipes.
      Unix Domain sockets and Windows Named Pipes:
      1. Named pipes are design for Windows Domain printer and file sharing, not local IPC.
      2. means Named Pipes do some networking even if are local by security.

      True MS design:
      Local Out of process COM and MS-RPC uses ALPC for local inter process communication everywhere in the OS components.
      Can find in many processes via Sysinternals Process Monitor, look for
      ALPC Port : \RPC Control\OLE[RANDOM_GUID].

      Value:
      I think would be faster with lower resource usage.

      Links:
      http://en.wikipedia.org/wiki/Local_Procedure_Call
      http://www.zezula.net/en/prog/lpc.html
      Search LRPC on http://technet.microsoft.com/en-us/library/cc738291(v=ws.10).aspx

      Attachments

        Activity

          People

            jking3 James E. King III
            dzmitry.lahoda Dzmitry.Lahoda
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 192h
                192h
                Remaining:
                Remaining Estimate - 192h
                192h
                Logged:
                Time Spent - Not Specified
                Not Specified