ice 0.0.1 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.