@Override public Object copy(final Kryo kryo, final Object original) { if (original instanceof RemoteReference) { final RemoteReference<?> remoteReference = (RemoteReference<?>) original; if (RemoteReference.getRuntime(remoteReference) != null) { return DefaultDescriptorFactory.get().getReference(null, RemoteReference.getAddress(remoteReference), RemoteReference.getInterfaceClass(remoteReference), RemoteReference.getId(remoteReference)); } } return original; }
@Override public Object copy(final Kryo kryo, final Object original) { if (original instanceof AbstractActor) { return RemoteReference.from((AbstractActor) original); } if (original instanceof RemoteReference) { final RemoteReference<?> remoteReference = (RemoteReference<?>) original; if (RemoteReference.getRuntime(remoteReference) != null) { return DefaultDescriptorFactory.get().getReference(null, RemoteReference.getAddress(remoteReference), RemoteReference.getInterfaceClass(remoteReference), RemoteReference.getId(remoteReference)); } return original; } if (original == null) { return null; } throw new IllegalArgumentException("Invalid type for " + original); }
@Override public Object copy(Kryo kryo, Object original) { if (original instanceof RemoteReference) { final RemoteReference<?> remoteReference = (RemoteReference<?>) original; if (RemoteReference.getRuntime(remoteReference) != null) { return DefaultDescriptorFactory.get().getReference(null, RemoteReference.getAddress(remoteReference), RemoteReference.getInterfaceClass(remoteReference), RemoteReference.getId(remoteReference)); } return original; } return ActorRuntime.getRuntime().registerObserver(null, (ActorObserver) original); }