Archived

This forum has been archived. Please start a new discussion on GitHub.

What feature would you like to see most in Ice?

123578

Comments

  • michi wrote:
    Hmmm... Can you explain what you would want this feature for? It's not clear to me why this would be useful.

    Cheers,

    Michi.
    In some real-time control conditions,the point to control should't be the same as the the caculate point.
    For example,algorithm program of temperature control considers the temperature would be too high in 5 seconds,it
    then makes a delay call to the relevant devices to lower the temperature. I know it can be implemented with a
    timer, but I think a delay invocation in ICE runtime core like timeout invocation does would be more neat.
  • Improved searchtools in freeze

    Maybe it is just that we are lazy and use Freeze for too much of our object persistence, but if possible it would be nice to be able to combine multiple indices in one search, and do more than an equality search on various indices.
  • bernard
    bernard Jupiter, FL
    RE: Improved searchtools in freeze

    The search features offered by Freeze are constrained by the underlying database, Berkeley DB. Freeze could offer searches on multiple indices (with AND and OR expressions) but since there is no corresponding feature in Berkeley DB, performance-wise it would be like doing the individual searches and combining the results with intersections and unions. Actually it would probably be slower since Freeze would have to parse this expression.

    Range-searches on keys and indexed members using Berkeley DB seems more feasible. We would mainly need to specify comparison functions (Db::set_bt_compare) to sort the corresponding Ice-encoded binary strings. Is this the kind the non-equality search you have in mind? (Please create a separate thread for further discussion on this topic).

    Cheers,
    Bernard
  • Perl binding will be very useful

    Although there is no boost.perl, but I think it should not be very hard to implement.
  • getIPs() function in IceUtil

    How about a getIPs() function in IceUtil. That will make it easier to manage configuration files without having to specify a local IP, especially for DHCP platforms. I found some nice code to do this with WinSock 2.0 but it would be nice if this were platform neutral :).

    Also, the more I use ICE, the more I like using the IceUtil libary. I think the manual should have a dedicated section to IceUtil. And more specific examples for Thread objects and other stuff like using Handle as an alternative to boost::shared_ptr (by simply deriving from Shared).

    Regards,
    Ryan
  • marc
    marc Florida
    I agree, we must add something like getAllEndpoints(). The problem is that the code is different on every platform, but this should be no excuse for not implementing it. I also agree that the documentation for IceUtil::Shared should be more explicit in the manual. At present, it's only used implicitly as part of other examples.
  • include sentence in ICE config file

    So I can put common properties in a individual config file,just like c/c++ #include does.
  • matthew
    matthew NL, Canada
    So I can put common properties in a individual config file,just like c/c++ #include does.

    Have you considered using IcePack to manage your servers? In this way you can do exactly what you want and you get to take advantage of the other features of IcePack.

    Regards, Matthew
  • matthew wrote:
    Have you considered using IcePack to manage your servers? In this way you can do exactly what you want and you get to take advantage of the other features of IcePack.

    Regards, Matthew
    Do the servers deployed by IcePack can share some common properties?
    <icepack>
    <server name="${name}" kind="cpp" exe="${ice.dir}/demo/IcePack/hello/server" activation="on-demand">
    <adapters>
    <adapter name="Hello" endpoints="default" register="true">
    <object identity="${name}" type="::Demo::HelloFactory"/>
    </adapter>
    </adapters>
    <properties>
    <property name="Identity" value="${name}"/>
    <property name="Ice.ThreadPool.Server.Size" value="5"/>
    </properties>
    </server>
    </icepack>
    How to do it with above XML syntax ?

    Best regards, Yunqiao Yin
  • matthew
    matthew NL, Canada
    Hi,

    - Create a file that contains the common properties. For example, common.xml, as follows:
    <icepack>
        <properties>
            <property name="Ice.Plugin.IceSSL" value="IceSSL:create"/>
            <property name="IceSSL.Server.CertPath" value="../../../certs"/>
            <property name="IceSSL.Server.Config" value="sslconfig.xml"/>
        </properties>
    </icepack>
    

    Then in your descriptor where you want these common properties to be included:
    <service name="Hello" entry="HelloService:create">
      <some-stuff/>
      <properties>
        <property name="Identity" value="hello2"/>
        <include descriptor="common.xml"/>
      </properties>    
    </service>
    

    Best Regards, Matthew
  • :) Thank you very much!
  • DBXML support?

    ICE support DBXML?
  • marc
    marc Florida
    dhlong wrote:
    ICE support DBXML?

    What would be the advantage of storing data in XML format? As far as I can see, this would only make Freeze slower, and the database size larger.
  • More supported platforms
    marc wrote:
    We would like to get a feeling for what features are on top of your wish list. So, what features are you missing in Ice?

    Please feel free to suggest anything that comes to your mind, including, but not limited to, new language mappings, new services, new core features, documentation enhancements, etc.

    ICE is a great product and service, it solves some of the common distributed systems development problems. We just want more supported platforms. What about ICE for Delphi or ICE for Perl, more Linuxes tested, etc.

    Great job!!!
  • Feature Request for DotNet 2.0

    hi guys,

    once you start with c# code generation for DotNet 2.0,
    a meta tag for partial class declaration would be really nice.

    maybe something like this:
    ["clr : partial"]

    by supporting this feature it will be very easy to extend generated classes.
    this could be really helpfull to define convertion operators.

    for a datetime class defined in ice (see the other thread) with the help of:
    namespace Global
    {
        partial class DateTime
        {
            public static implicit operator System.DateTime(Global.DateTime date)
            {
                return new System.DateTime(date.nYear, date.nMonth, date.nDay, date.nHour, date.nMinute, date.nSecond, date.nMilliSecond);
            }
            public static implicit operator Global.DateTime(System.DateTime date)
            {
                return new DateTime(date.Year, (byte)date.Month, (byte)date.Day, (byte)date.Hour, (byte)date.Minute, (byte)date.Second, (byte)date.Millisecond);
            }
        }
    }
    

    the generated class can be used in source code just like Sytem.DateTime.

    take care & thx alot

    tom

    references:
    Partial Class Definitions (C# Programming Guide)
  • Something similar to CORBA InterfaceRepository

    It seems that current Ice specs & implementation have not anything analogous to CORBA Interface Repository (aka IFR) component functioning as a standalone "service".
    As a result, Dynamic Invocation & Dispatch capabilities (as they are called in Ice manual) looks much more pure than CORBA DII & DSI features, which may be based on run-time IDL types introspection (similar to Java reflection API) provided by run-time access to "pre-parsed" IDL descriptions loaded to IFR.
    As far as I understood (by now), the problem may be partially resolved by using ICE Python/PHP implementation, but what about C/Java etc.?

    Regards,
    Vladimir
  • Why not a portable Slice2Java?

    Hi, I´m wondering if a portable Slice2Java exist. I´m having problems with the C++ building files on Visual Studio 6.0 SP5 and .NET 2003, so, why not the two choices a portable Slice2Java.jar and the rest?

    Thanks in advanced
  • escofet wrote:
    Hi, I´m wondering if a portable Slice2Java exist. I´m having problems with the C++ building files on Visual Studio 6.0 SP5 and .NET 2003, so, why not the two choices a portable Slice2Java.jar and the rest?

    Thanks in advanced

    All our slice compilers are written in C++, because they all use the same slice parser, written with flex and bison in C++. We simply didn't want to duplicate the effort of writing a slice parser in different languages.
  • dwayne
    dwayne St. John's, Newfoundland
    escofet wrote:
    Hi, I´m wondering if a portable Slice2Java exist. I´m having problems with the C++ building files on Visual Studio 6.0 SP5 and .NET 2003, so, why not the two choices a portable Slice2Java.jar and the rest?

    Thanks in advanced

    Note that it is not necessary for you to build the slice2java compiler yourself if you don't want to. It comes precompiled in the .Net 2003 installer for Windows.

    Regards,
    Dwayne
  • SSL python support

    Hi,

    I find Ice easy to learn, poweful, fast and, above all, useful. I used Ice to write pyjdbc (a python DB driver that uses java JDBC drivers see http://pyjdbc.sf.net ).

    In my opinion, it would be nice to have SSL support in IcePy.

    Thanks for your well designed code,

    Marco
  • mes
    mes California
    mpaolini wrote:
    In my opinion, it would be nice to have SSL support in IcePy.
    Since IcePy uses the Ice for C++ run time, you should be able to configure IceSSL and use it with IcePy. Have you tried this?

    Or are you asking for the ability to access the IceSSL::Plugin interface from IcePy?

    - Mark
  • SSL python support
    mes wrote:
    Since IcePy uses the Ice for C++ run time, you should be able to configure IceSSL and use it with IcePy. Have you tried this?
    - Mark
    Thanks, I didn't expect my whish to come true this soon :)
  • SUPPORT epoll or AIO

    SUPPORT Epoll or AIO /dev/poll whatever
    for 10K connections
    i can pay for this

    Also something simlar to Asyn_File_Transfer which ACE has...
  • AnandRathi wrote:
    SUPPORT Epoll or AIO /dev/poll whatever
    for 10K connections
    i can pay for this

    Also something simlar to Asyn_File_Transfer which ACE has...

    If you would like to sponsor such a feature, please contact us at info@zeroc.com. Note, however, that having so many connections to one server can have severe performance penalties (depending on how active your clients are). The recommended alternative is to use several Glacier instances as connection concentrators.
  • I would like to see, that slice2something (for example slice2cs) generate also documentation comments from slice documentation comments for classes which I have to implement.
  • kovacm wrote:
    I would like to see, that slice2something (for example slice2cs) generate also documentation comments from slice documentation comments for classes which I have to implement.

    Have a look at slice2docbook, which creates documentation from comments in docbook format. For example, the reference section in the Ice manual has been created with this tool.
  • I use slice2docbook, but generating also documentation comments in generated code (C#, Java,...) can be good at least for two reasons:
    1. To have only one program documentation - for example we use in Ferda project NDoc for our C# codes - it generates for example nice "microsoft" looking documentation...
    2. Many development environments use documentation comments in time of enteriting new code for "nice help" to programmer and shows exaxtly that functions, which he use at that time...
  • marc wrote:
    We would like to get a feeling for what features are on top of your wish list. So, what features are you missing in Ice?.

    A slice2freezecs (targeting C#) would be really must-have feature.
  • dwforslund wrote:
    There CORBA area I would like to see is translating (at least partially) IDL into ICE. How about a UML Profile for ICE

    The other area is WebServices integration to ICE. The idea is to be able to deploy an ICE application through WebServices in a fairly automatic manner.

    I'm not sure whether I'm permitted to answer here, still... Personally, I do not understand why ICE should support CORBA and SOAP. If you need a possibility to access an ICE object via SOAP or CORBA proto it's you who's responsible for implementing an adapter which would translate CORBA packets or SOAP messages into ICE object's interface calls. ICE developers have no ideas what your SOAP or CORBA interface consists of. The only way to AUTOMATICALLY generate such an adapter is to provide a code generator whose implementation will certainly eat up considerable time which could be spent on implementing really useful features for ICE itself...

    As far as UML is concerned I personally do not see much in providing this feature, for the best documentation (the UML is documentation) possible is source code.
  • So far as my not much experience of using ICE, it is a really good work ,especially its basic run time.Howerver, it will be better , or it will be perfect, to have the IceSSL C# version. In our current project, thanks to ICE, we have used c++, java and c# freely and expediently to implement various parts seamlessly. The only shortcoming is unable to use ssl between c# part and other parts. Hope this feature can be added in the future even though without urgent commercial requests:D .