On Fri, 24 Sep 2010 11:06:54 +0200 (CEST) Chidambar 'ilLogict' Zinnoury <illog...@online.fr> wrote:
> Hello. > > I'm planning to add support for the SCTP protocol[1] in ecore_con at > some point in the near future (after I'm finished with my current > playground - more about it real soon), but as API is being frozen, I > thought I'd better send this now. > > SCTP is a modern protocol with some great features: > - supports multi-homing (multiple IPs - both v4 and v6 - per client, > at least for fallback, with concurrent multipath transfers on some > implementations) > - supports multiple streams (16 bits id) over a single association > (connection) (a bit like ATM virtual channels) > > However, ecore_con's API doesn't support that kind of features. > > Here is thus some proposals: > - for multi-homing: > - add Eina_List *ecore_con_{server,client}_ips_get(), returning an > Eina_List of char *, like ecore_con_{server,client}_ip_get, that > will be returning the first ip for SCTP > - another proposal would be to make ecore_con_{server,client}_ip_get > return the list instead of a sole IP like now (though this is maybe > much too invasive) > - for multiple streams: > - we could make a new client for each stream, with new > - Ecore_Con_Client *ecore_con_client_parent_get(Ecore_Con_Client *child), > that would give the 0th, > - int ecore_con_client_child_id_get(Ecore_Con_Client *child), > that would give this client id, > - Ecore_Con_Client *ecore_con_client_child_get(Ecore_Con_Client *parent, > int id), that would give the nth stream, creating a new Ecore_Con_Client > if needed > - Eina_List *ecore_con_client_children_get(Ecore_Con_Client *parent) > - add an int stream to Ecore_Con_Event_{Client/Server}_Data and > ecore_con_{client,server}_send() > > This can also be of use for TCP, as we could use the Out-Of-Band > bit to have a second stream. > > Please comment on these propositions. > > Cheers! > > Chidambar > > [1] RFC4960 "Stream Control Transmission Protocol" > http://tools.ietf.org/html/rfc4960 This seems reasonable for post-1.0. The one thing that you will need to do beyond a doubt is ensure that there is some bool value to hide all your code behind so that it does not interfere with regular socket connections (I forgot to hide an ssl function in this way and we were flooded with e17 error reports for a few hours). I look forward to seeing the idea develop. -- Mike Blumenkrantz Zentific: Our boolean values are huge. ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel