<div dir="ltr"><div><div><div>Just to share my small experience with uds_dist: last time I've checked, everything was fine but the distribution was not working at all.<br></div>Pipes were OK, but the distribution wasn't. <br>
</div>The problem seems to be related to some obscure flag in the structure. <br></div>I think this code may have worked with old version of erlang < R13...<br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Mon, Jan 7, 2013 at 6:31 PM, Patrik Nyblom <span dir="ltr"><<a href="mailto:pan@erlang.org" target="_blank">pan@erlang.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    <div>On 12/24/2012 01:07 AM, Jeffrey Rennie
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      
      
      <div>
        <p class="MsoNormal">Before I draft a formal EEP,<u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <p class="MsoNormal">Windows firewall is enabled by default, and
          blocks sockets used by erlang.  Yes, exceptions can be added
          to the firewall, however, this is not possible in some
          situations.  For example:<u></u><u></u></p>
        <p class="MsoNormal">1.  A corporate network with strict
          policies that prohibit opening ports used by erlang.<u></u><u></u></p>
        <p class="MsoNormal">2.  An application written in erlang that
          installs without administrator privileges.<u></u><u></u></p>
        <p class="MsoNormal">3.  (A generalization of the above) 
          Whenever the user who wants to run erlang is not an
          administrator.<u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <p class="MsoNormal">In these environments, an alternative to
          sockets which get entangled in the firewall, is Win32 named
          pipes which do not get entangled in  the firewall.<u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <p class="MsoNormal">Therefore, I propose a change that will
          allow erlang nodes to communicate over named pipes in addition
          to sockets.  Of course, it would be controlled by command-line
          parameters.<u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <p class="MsoNormal">I've spent a day browsing the erlang source
          code and it looks pretty doable.<u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <p class="MsoNormal">Comments and questions please.</p>
      </div>
    </blockquote>
    <br></div>
    Good idea! There is actually no need to change anything in the
    Erlang VM to do that. The distribution mechanism is pluggable, so
    you can write a driver that uses any protocol where you can setup a
    stream of bytes between nodes (ok, that sounds easier than it really
    is, but it's absolutely doable). There is an example in the kernel
    source code ($ERL_TOP/lib/kernel/examples/uds_dist) where
    distribution is set up using Unix named pipes, which is of course
    more limited, but shows the general idea of how to implement a
    distribution driver. <br><div class="im">
    <br>
    <blockquote type="cite">
      <div>
        <p class="MsoNormal"><u></u><u></u></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <p class="MsoNormal">P.S. It took me about 5 hours to
          successfully build on Windows; I had most of the tools like
          Visual Studio and cygwin installed.  I got tripped up by git
          switching LFs to CRLFs, which chokes bash.  Also, it's much
          faster to just run vcvars32.bat and then run bash than to
          write your own script that sets the vc environment variables.<u></u><u></u></p>
      </div>
    </blockquote></div>
    Yes, it's a pain. The CRLF defaults of msysgit is also a pain. Using
    vcvars32 directly may definitely be a shortcut, maybe you could add
    some section to the windows readme about your approach? <br>
    <blockquote type="cite">
      <div>
        <p class="MsoNormal"><u></u> <u></u></p>
      </div>
      <br>
    </blockquote>
    Cheers,<br>
    /Patrik<br>
    <blockquote type="cite">
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
erlang-questions mailing list
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>