rmi_generator 0.0.4 copy "rmi_generator: ^0.0.4" to clipboard
rmi_generator: ^0.0.4 copied to clipboard

Remote Method Invocation without reflection but basd on code generation. This is the dev dependency.

example/lib/example.dart

import 'package:rmi/remote_method_invocation.dart';
import 'package:rmi/proxy.dart';
import 'dart:async';

part 'example.g.dart';

class ExampleClass implements RmiTarget {
  void someMethod() {
    print('some stuff');
  }

  ExampleClass();
  // required boilerplate for code generation
  @override
  Object invoke(Invocation invocation) =>
      _$ExampleClassInvoker.invoke(invocation, this);
  factory ExampleClass.getRemote(Context context, String uuid) =>
      _$ExampleClassRmi.getRemote(context, uuid);
  Provision provideRemote(Context context) =>
      _$ExampleClassRmi.provideRemote(context, this);
}

main() {
  StreamController<String> aToB = StreamController();
  StreamController<String> bToA = StreamController();

  ExampleClass remoteTarget = new ExampleClass();
  var provision = remoteTarget.provideRemote(new Context(aToB.stream, bToA));

  ExampleClass proxy =
      ExampleClass.getRemote(new Context(bToA.stream, aToB), provision.uuid);

  proxy.someMethod();
}
0
likes
40
pub points
0%
popularity

Publisher

unverified uploader

Remote Method Invocation without reflection but basd on code generation. This is the dev dependency.

Repository (GitHub)
View/report issues

License

BSD-2-Clause (LICENSE)

Dependencies

analyzer, build, build_config, source_gen

More

Packages that depend on rmi_generator