Re: [jinterface] transport factory implementation

Dmitriy Kargapolov <[email protected]> Wed, 07 Jan 2015 15:35:16 -0500
Newsgroups gmane.comp.lang.erlang.patches
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============5892283908192128781==
Content-Type: multipart/alternative;
 boundary="------------000809040902070600040707"

This is a multi-part message in MIME format.
--------------000809040902070600040707
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Two test cases show how to setup a custom transport in different ways,
may be considered as examples.

In general there are no prerequisites from other components.

One use case is implementing ssh-tunnel for Java client while connecting
to regular Erlang node. This is useful for making secure connection
between Java client and Erlang server node(s). Such a transport could
use, for example JSch for client, on the server side there will be
regular TCP connection established from sshd to beam (or to epmd
process, when client queries EPMD).

Other use may, of course, require some development on Erlang side as
well. This is not covered by this work.

On 01/06/2015 11:07 AM, Vlad Dumitrescu wrote:
> Hi!
>
> Thanks for this. I will look closer at the code in the next days. My
> first comment is that I think there should be more examples on how to
> set up a different transport and maybe on how to implement other
> transports. I suppose that a prerequisite for this to work is that the
> Erlang nodes and epmd support and use that transport method too?
>
> best regards,
> Vlad
>
>
> On Sun, Jan 4, 2015 at 7:02 PM, Dmitriy Kargapolov
> <[email protected] <mailto:[email protected]>>
> wrote:
>
>     Transport factory basic implementation added. This makes possible
>     creating connections between nodes using ssh channels or ssl.
>     Default transport factory based on standart Socket/ServerSocket
>     classes is provided. Modifications are backward compatible.
>     Custom transport factory may be specified using 2 ways - via
>     system property or defining special tuner class.
>     Documentation updated. Test cases added.
>
>     git fetch https://github.com/x0id/otp.git jinterface_transport_fact=
ory
>
>     https://github.com/x0id/otp/compare/erlang:master...jinterface_tran=
sport_factory
>     https://github.com/x0id/otp/compare/erlang:master...jinterface_tran=
sport_factory.patch
>
>     Thanks.
>
>
>
>
>
>
>     _______________________________________________
>     erlang-patches mailing list
>     [email protected] <mailto:[email protected]>
>     http://erlang.org/mailman/listinfo/erlang-patches
>
>


--------------000809040902070600040707
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta content=3D"text/html; charset=3Dutf-8" http-equiv=3D"Content-Ty=
pe">
  </head>
  <body bgcolor=3D"#FFFFFF" text=3D"#000000">
    <div class=3D"moz-cite-prefix">Two test cases show how to setup a
      custom transport in different ways, may be considered as examples.<=
br>
      <br>
      In general there are no prerequisites from other components.<br>
      <br>
      One use case is implementing ssh-tunnel for Java client while
      connecting to regular Erlang node. This is useful for making
      secure connection between Java client and Erlang server node(s).
      Such a transport could use, for example JSch for client, on the
      server side there will be regular TCP connection established from
      sshd to beam (or to epmd process, when client queries EPMD).<br>
      <br>
      Other use may, of course, require some development on Erlang side
      as well. This is not covered by this work.<br>
      <br>
      On 01/06/2015 11:07 AM, Vlad Dumitrescu wrote:<br>
    </div>
    <blockquote
cite=3D"mid:[email protected]=
l.com"
      type=3D"cite">
      <div dir=3D"ltr">Hi!
        <div><br>
        </div>
        <div>Thanks for this. I will look closer at the code in the next
          days. My first comment is that I think there should be more
          examples on how to set up a different transport and maybe on
          how to implement other transports. I suppose that a
          prerequisite for this to work is that the Erlang nodes and
          epmd support and use that transport method too?</div>
        <div><br>
        </div>
        <div>best regards,<br>
        </div>
        <div>Vlad</div>
        <div><br>
        </div>
      </div>
      <div class=3D"gmail_extra"><br>
        <div class=3D"gmail_quote">On Sun, Jan 4, 2015 at 7:02 PM, Dmitri=
y
          Kargapolov <span dir=3D"ltr">&lt;<a moz-do-not-send=3D"true"
              href=3D"mailto:[email protected]" target=3D"_bla=
nk">[email protected]</a>&gt;</span>
          wrote:<br>
          <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">Transport
            factory basic implementation added. This makes possible<br>
            creating connections between nodes using ssh channels or
            ssl.<br>
            Default transport factory based on standart
            Socket/ServerSocket<br>
            classes is provided. Modifications are backward compatible.<b=
r>
            Custom transport factory may be specified using 2 ways - via<=
br>
            system property or defining special tuner class.<br>
            Documentation updated. Test cases added.<br>
            <br>
            git fetch <a moz-do-not-send=3D"true"
              href=3D"https://github.com/x0id/otp.git" target=3D"_blank">=
https://github.com/x0id/otp.git</a>
            jinterface_transport_factory<br>
            <br>
            <a moz-do-not-send=3D"true"
href=3D"https://github.com/x0id/otp/compare/erlang:master...jinterface_tr=
ansport_factory"
              target=3D"_blank">https://github.com/x0id/otp/compare/erlan=
g:master...jinterface_transport_factory</a><br>
            <a moz-do-not-send=3D"true"
href=3D"https://github.com/x0id/otp/compare/erlang:master...jinterface_tr=
ansport_factory.patch"
              target=3D"_blank">https://github.com/x0id/otp/compare/erlan=
g:master...jinterface_transport_factory.patch</a><br>
            <br>
            Thanks.<br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            _______________________________________________<br>
            erlang-patches mailing list<br>
            <a moz-do-not-send=3D"true"
              href=3D"mailto:[email protected]">erlang-patches@er=
lang.org</a><br>
            <a moz-do-not-send=3D"true"
              href=3D"http://erlang.org/mailman/listinfo/erlang-patches"
              target=3D"_blank">http://erlang.org/mailman/listinfo/erlang=
-patches</a><br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------000809040902070600040707--

--===============5892283908192128781==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
erlang-patches mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-patches

--===============5892283908192128781==--