On Fri, 15 Sep 2017 11:24:54 -0300 Gustavo Sverzut Barbieri
<barbi...@gmail.com> said:

> because I found the number of intefaces to be already too big to start
> to create more... so I left them in the class, not in another
> interface.
> 
> Efl.Net.Server
>  - Fd
>     - Tcp
>     - Udp
>     - Unix
> - Ssl (may wrap tcp, udp, unix...)

hmmm ssl isn't really practical over udp... right? so i guess putting it in fd
parent class would lead to udp subclass inheriting methods we have to nullify
(turn into nops/errors) for the ssl specific features. so the only way to share
nicely is have an ssl interface that udp and unix share...

> but could be changed, sure... like:
> 
>  - Fd
>     - Ip
>       - Tcp
>       - Udp

that would fix the tcp vs udp example below indeed.

> we'd need to create an efl_net_ip class with little to share.
> 
> as for ssl... I'm trying to remember why I didn't make it a subclass
> of Tcp, instead just created an inner server that proxies all calls...
> looking at the final code, there is no reason why... but eventually
> during early development it couldn't be done and I "forgot" when
> things were cleared. (ie: Efl.Net.Server.client_announce got
> introduced late, and likely that's what now makes it possible, since
> we need to wrap a pure TCP into ssl before announcing it).

hmmm yeah. as a final code blbo (api/interface) it just looks... wrong. it does
lead to excess code on the "api user" side to deal with specially (you cant
just switch to an ssl class and add in the ssl specific setup methods for just
that. you have to switch over a bunch of the other methods too that are common).

> On Fri, Sep 15, 2017 at 12:12 AM, Carsten Haitzler <ras...@rasterman.com>
> wrote:
> > On Fri, 15 Sep 2017 12:11:16 +0900 Carsten Haitzler <ras...@rasterman.com>
> > said:
> >
> > also i spotted:
> >         efl_net_server_tcp_ipv6_only_set(server, ipv6_only);
> > vs
> >         efl_net_server_udp_ipv6_only_set(server, ipv6_only);
> >
> > same question... ?
> >
> >
> >> why do i need to do stuff like:
> >>
> >>    if (klass == EFL_NET_SERVER_SSL_CLASS)
> >>      {
> >>         efl_net_server_ssl_reuse_address_set(server, EINA_TRUE);
> >>         efl_net_server_ssl_close_on_exec_set(server, EINA_TRUE);
> >>         efl_net_server_ssl_reuse_port_set(server, EINA_TRUE);
> >>      }
> >>    else
> >>      {
> >>         efl_net_server_fd_reuse_address_set(server, EINA_TRUE);
> >>         efl_net_server_fd_close_on_exec_set(server, EINA_TRUE);
> >>         efl_net_server_fd_reuse_port_set(server, EINA_TRUE);
> >>      }
> >>
> >> why are these (and other sibling methods/properties) not in a shared
> >> interface or parent class? this seems ... bad. ?
> >>
> >> --
> >> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> >> Carsten Haitzler - ras...@rasterman.com
> >>
> >>
> >> ------------------------------------------------------------------------------
> >> Check out the vibrant tech community on one of the world's most
> >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> >> _______________________________________________
> >> enlightenment-devel mailing list
> >> enlightenment-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>
> >
> >
> > --
> > ------------- Codito, ergo sum - "I code, therefore I am" --------------
> > Carsten Haitzler - ras...@rasterman.com
> >
> >
> > ------------------------------------------------------------------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 
> 
> 
> -- 
> Gustavo Sverzut Barbieri
> --------------------------------------
> Mobile: +55 (16) 99354-9890
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - ras...@rasterman.com


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to