Skip to content

eDistantObject 1.0.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@AlbertWang0116 AlbertWang0116 released this 14 Aug 22:28

eDO has been serving EarlGrey 2.0 stably for Google internal projects for more than 1 year. So we are happy to announce its 1.0 release!

Updates:

  • Bring the concept of originatingQueues and executingQueue into EDOHostService, which can be accessed and manipulated through the initializers and properties of the class. It allows a queue to redirect the callbacks of its remote invocations to another queue, and optimize the load balance.

    • originatingQueues: Each EDOHostService holds a list of queues as originatingQueues. If local objects are boxed on any queue
      of originatingQueues, the corresponding EDOHostService will be the target of the produced eDO proxy. A queue can be belong to
      only one originatingQueues.
    • executingQueue: Each EDOHostService holds exactly one queue as executingQueue. When an EDOHostService is targeted by
      an eDO proxy, the EDOHostService will always execute the request on the executingQueue. If a queue is the executingQueue
      of a EDOHostService, it must also belong to the originatingQueues of the same service.
  • The exceptions, thrown during eDO remote invocations, will contain the stack traces of both the callee process and previous caller processes.

  • You can block certain class type to be wrapped as an eDO proxy, to help detect unexpected object creation in the wrong process.

Fixes:

  • Fixed a deadlock that can happen in nested eDO invocations.