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
x
Objectx
Proxy- [] Server
x
slicex
slice scannerx
slice parserx
slice2dart- [] unittest for cpp/test/.../*.ice of ice
- [] Transport
x
Tcpx
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.