ice 0.0.1 copy "ice: ^0.0.1" to clipboard
ice: ^0.0.1 copied to clipboard

ZeroC Ice implement in Dart.

Ice Dart #

Implement ZeroC Ice in pure Dart.

Worked client demo:

void main(List<String> args) async {
  final ich = CommunicatorHolder(args: args, configFile: 'bin/config.client');

  final o = ich.communicator.propertyToProxy("Hello.Proxy");
  assert(o.runtimeType == ObjectPrx);

  if (o != null) {
    final prx = checkedCast<HelloPrx>(o, HelloPrx.creator);
    if (prx != null) {
      assert(prx.runtimeType == HelloPrx);

      final typeId = '::Demo::Hello';
      prx.ice_isA(typeId);

      assert(true == await prx.ice_isAAsync(typeId));
      assert(true == await prx.ice_isAAsync('::Ice::Object'));
      assert(false == await prx.ice_isAAsync('not-exist'));

      prx.sayHello(0);

      await prx.sayHelloAsync(0);
    }
  }

  ich.communicator.shutdown();
}

TODO List #

  • ✅ Object
  • ✅ Proxy
  • [] Server
  • ✅ slice
    • ✅ slice scanner
    • ✅ slice parser
    • ✅ slice2dart
    • [] unittest for cpp/test/.../*.ice of ice
  • [] Transport
    • ✅ Tcp
    • ✅ Udp
    • [] SSL
    • [] WebSocket
  • [] Features
    • [] Router
    • [] BatchMode
    • [] facet
  • [] External
    • [] Oberve and Metrix

Ice Protocol #

Implement of Ice Protocol is split up as a standalone library ice.protocol.

Licence #

Maybe later or donate.

1
likes
60
pub points
0%
popularity

Publisher

unverified uploader

ZeroC Ice implement in Dart.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-2-Clause (license)

Dependencies

args, meta, uuid

More

Packages that depend on ice