mirror of
https://github.com/wassname/ray.git
synced 2026-07-03 14:19:24 +08:00
Java call Python use structured function descriptors (#7634)
This commit is contained in:
@@ -23,632 +23,632 @@ interface ActorCall<A> {
|
||||
|
||||
default <R> RayObject<R> call(RayFunc1<A, R> f) {
|
||||
Object[] args = new Object[]{};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default void call(RayFuncVoid1<A> f) {
|
||||
Object[] args = new Object[]{};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, R> RayObject<R> call(RayFunc2<A, T0, R> f, T0 t0) {
|
||||
Object[] args = new Object[]{t0};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, R> RayObject<R> call(RayFunc2<A, T0, R> f, RayObject<T0> t0) {
|
||||
Object[] args = new Object[]{t0};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0> void call(RayFuncVoid2<A, T0> f, T0 t0) {
|
||||
Object[] args = new Object[]{t0};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0> void call(RayFuncVoid2<A, T0> f, RayObject<T0> t0) {
|
||||
Object[] args = new Object[]{t0};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, R> RayObject<R> call(RayFunc3<A, T0, T1, R> f, T0 t0, T1 t1) {
|
||||
Object[] args = new Object[]{t0, t1};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, R> RayObject<R> call(RayFunc3<A, T0, T1, R> f, T0 t0, RayObject<T1> t1) {
|
||||
Object[] args = new Object[]{t0, t1};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, R> RayObject<R> call(RayFunc3<A, T0, T1, R> f, RayObject<T0> t0, T1 t1) {
|
||||
Object[] args = new Object[]{t0, t1};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, R> RayObject<R> call(RayFunc3<A, T0, T1, R> f, RayObject<T0> t0, RayObject<T1> t1) {
|
||||
Object[] args = new Object[]{t0, t1};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1> void call(RayFuncVoid3<A, T0, T1> f, T0 t0, T1 t1) {
|
||||
Object[] args = new Object[]{t0, t1};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1> void call(RayFuncVoid3<A, T0, T1> f, T0 t0, RayObject<T1> t1) {
|
||||
Object[] args = new Object[]{t0, t1};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1> void call(RayFuncVoid3<A, T0, T1> f, RayObject<T0> t0, T1 t1) {
|
||||
Object[] args = new Object[]{t0, t1};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1> void call(RayFuncVoid3<A, T0, T1> f, RayObject<T0> t0, RayObject<T1> t1) {
|
||||
Object[] args = new Object[]{t0, t1};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, R> RayObject<R> call(RayFunc4<A, T0, T1, T2, R> f, T0 t0, T1 t1, T2 t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, R> RayObject<R> call(RayFunc4<A, T0, T1, T2, R> f, T0 t0, T1 t1, RayObject<T2> t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, R> RayObject<R> call(RayFunc4<A, T0, T1, T2, R> f, T0 t0, RayObject<T1> t1, T2 t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, R> RayObject<R> call(RayFunc4<A, T0, T1, T2, R> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, R> RayObject<R> call(RayFunc4<A, T0, T1, T2, R> f, RayObject<T0> t0, T1 t1, T2 t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, R> RayObject<R> call(RayFunc4<A, T0, T1, T2, R> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, R> RayObject<R> call(RayFunc4<A, T0, T1, T2, R> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, R> RayObject<R> call(RayFunc4<A, T0, T1, T2, R> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2> void call(RayFuncVoid4<A, T0, T1, T2> f, T0 t0, T1 t1, T2 t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2> void call(RayFuncVoid4<A, T0, T1, T2> f, T0 t0, T1 t1, RayObject<T2> t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2> void call(RayFuncVoid4<A, T0, T1, T2> f, T0 t0, RayObject<T1> t1, T2 t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2> void call(RayFuncVoid4<A, T0, T1, T2> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2> void call(RayFuncVoid4<A, T0, T1, T2> f, RayObject<T0> t0, T1 t1, T2 t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2> void call(RayFuncVoid4<A, T0, T1, T2> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2> void call(RayFuncVoid4<A, T0, T1, T2> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2> void call(RayFuncVoid4<A, T0, T1, T2> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2) {
|
||||
Object[] args = new Object[]{t0, t1, t2};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, T0 t0, T1 t1, T2 t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, T0 t0, T1 t1, T2 t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, T0 t0, T1 t1, RayObject<T2> t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, T0 t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, T0 t0, RayObject<T1> t1, T2 t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, T0 t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, RayObject<T0> t0, T1 t1, T2 t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, RayObject<T0> t0, T1 t1, T2 t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, R> RayObject<R> call(RayFunc5<A, T0, T1, T2, T3, R> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, T0 t0, T1 t1, T2 t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, T0 t0, T1 t1, T2 t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, T0 t0, T1 t1, RayObject<T2> t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, T0 t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, T0 t0, RayObject<T1> t1, T2 t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, T0 t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, RayObject<T0> t0, T1 t1, T2 t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, RayObject<T0> t0, T1 t1, T2 t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3> void call(RayFuncVoid5<A, T0, T1, T2, T3> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, T1 t1, T2 t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, T1 t1, T2 t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, T1 t1, T2 t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, T1 t1, RayObject<T2> t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, T1 t1, RayObject<T2> t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, RayObject<T1> t1, T2 t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, RayObject<T1> t1, T2 t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, T1 t1, T2 t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, T1 t1, T2 t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, T1 t1, T2 t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, T1 t1, T2 t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4, R> RayObject<R> call(RayFunc6<A, T0, T1, T2, T3, T4, R> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
return Ray.internal().callActor(f, (RayActor) this, args);
|
||||
return Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, T1 t1, T2 t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, T1 t1, T2 t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, T1 t1, T2 t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, T1 t1, RayObject<T2> t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, T1 t1, RayObject<T2> t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, RayObject<T1> t1, T2 t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, RayObject<T1> t1, T2 t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, T0 t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, T1 t1, T2 t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, T1 t1, T2 t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, T1 t1, T2 t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, T1 t1, T2 t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, T1 t1, RayObject<T2> t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, RayObject<T1> t1, T2 t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, T3 t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3, T4 t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
default <T0, T1, T2, T3, T4> void call(RayFuncVoid6<A, T0, T1, T2, T3, T4> f, RayObject<T0> t0, RayObject<T1> t1, RayObject<T2> t2, RayObject<T3> t3, RayObject<T4> t4) {
|
||||
Object[] args = new Object[]{t0, t1, t2, t3, t4};
|
||||
Ray.internal().callActor(f, (RayActor) this, args);
|
||||
Ray.internal().callActor((RayActor) this, f, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,40 +2,42 @@
|
||||
|
||||
package org.ray.api;
|
||||
|
||||
import org.ray.api.function.PyActorMethod;
|
||||
|
||||
/**
|
||||
* This class provides type-safe interfaces for remote actor calls.
|
||||
**/
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
interface PyActorCall {
|
||||
|
||||
default RayObject call(String functionName) {
|
||||
default <R> RayObject<R> call(PyActorMethod<R> pyActorMethod) {
|
||||
Object[] args = new Object[]{};
|
||||
return Ray.internal().callPyActor((RayPyActor)this, functionName, args);
|
||||
return Ray.internal().callActor((RayPyActor)this, pyActorMethod, args);
|
||||
}
|
||||
|
||||
default RayObject call(String functionName, Object obj0) {
|
||||
default <R> RayObject<R> call(PyActorMethod<R> pyActorMethod, Object obj0) {
|
||||
Object[] args = new Object[]{obj0};
|
||||
return Ray.internal().callPyActor((RayPyActor)this, functionName, args);
|
||||
return Ray.internal().callActor((RayPyActor)this, pyActorMethod, args);
|
||||
}
|
||||
|
||||
default RayObject call(String functionName, Object obj0, Object obj1) {
|
||||
default <R> RayObject<R> call(PyActorMethod<R> pyActorMethod, Object obj0, Object obj1) {
|
||||
Object[] args = new Object[]{obj0, obj1};
|
||||
return Ray.internal().callPyActor((RayPyActor)this, functionName, args);
|
||||
return Ray.internal().callActor((RayPyActor)this, pyActorMethod, args);
|
||||
}
|
||||
|
||||
default RayObject call(String functionName, Object obj0, Object obj1, Object obj2) {
|
||||
default <R> RayObject<R> call(PyActorMethod<R> pyActorMethod, Object obj0, Object obj1, Object obj2) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2};
|
||||
return Ray.internal().callPyActor((RayPyActor)this, functionName, args);
|
||||
return Ray.internal().callActor((RayPyActor)this, pyActorMethod, args);
|
||||
}
|
||||
|
||||
default RayObject call(String functionName, Object obj0, Object obj1, Object obj2, Object obj3) {
|
||||
default <R> RayObject<R> call(PyActorMethod<R> pyActorMethod, Object obj0, Object obj1, Object obj2, Object obj3) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3};
|
||||
return Ray.internal().callPyActor((RayPyActor)this, functionName, args);
|
||||
return Ray.internal().callActor((RayPyActor)this, pyActorMethod, args);
|
||||
}
|
||||
|
||||
default RayObject call(String functionName, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4) {
|
||||
default <R> RayObject<R> call(PyActorMethod<R> pyActorMethod, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4};
|
||||
return Ray.internal().callPyActor((RayPyActor)this, functionName, args);
|
||||
return Ray.internal().callActor((RayPyActor)this, pyActorMethod, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
package org.ray.api;
|
||||
|
||||
import org.ray.api.function.PyActorClass;
|
||||
import org.ray.api.function.PyRemoteFunction;
|
||||
import org.ray.api.function.RayFunc0;
|
||||
import org.ray.api.function.RayFunc1;
|
||||
import org.ray.api.function.RayFunc2;
|
||||
@@ -3843,144 +3845,144 @@ class RayCall {
|
||||
// ===========================
|
||||
// Cross-language methods.
|
||||
// ===========================
|
||||
public static RayObject callPy(String moduleName, String functionName) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction) {
|
||||
Object[] args = new Object[]{};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, null);
|
||||
return Ray.internal().call(pyRemoteFunction, args, null);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, CallOptions options) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, CallOptions options) {
|
||||
Object[] args = new Object[]{};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, options);
|
||||
return Ray.internal().call(pyRemoteFunction, args, options);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0) {
|
||||
Object[] args = new Object[]{obj0};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, null);
|
||||
return Ray.internal().call(pyRemoteFunction, args, null);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, CallOptions options) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, CallOptions options) {
|
||||
Object[] args = new Object[]{obj0};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, options);
|
||||
return Ray.internal().call(pyRemoteFunction, args, options);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1) {
|
||||
Object[] args = new Object[]{obj0, obj1};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, null);
|
||||
return Ray.internal().call(pyRemoteFunction, args, null);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, CallOptions options) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, CallOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, options);
|
||||
return Ray.internal().call(pyRemoteFunction, args, options);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, Object obj2) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, Object obj2) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, null);
|
||||
return Ray.internal().call(pyRemoteFunction, args, null);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, Object obj2, CallOptions options) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, Object obj2, CallOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, options);
|
||||
return Ray.internal().call(pyRemoteFunction, args, options);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, Object obj2, Object obj3) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, Object obj2, Object obj3) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, null);
|
||||
return Ray.internal().call(pyRemoteFunction, args, null);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, Object obj2, Object obj3, CallOptions options) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, Object obj2, Object obj3, CallOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, options);
|
||||
return Ray.internal().call(pyRemoteFunction, args, options);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, null);
|
||||
return Ray.internal().call(pyRemoteFunction, args, null);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, CallOptions options) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, CallOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, options);
|
||||
return Ray.internal().call(pyRemoteFunction, args, options);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4, obj5};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, null);
|
||||
return Ray.internal().call(pyRemoteFunction, args, null);
|
||||
}
|
||||
|
||||
public static RayObject callPy(String moduleName, String functionName, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5, CallOptions options) {
|
||||
public static <R> RayObject<R> call(PyRemoteFunction<R> pyRemoteFunction, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5, CallOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4, obj5};
|
||||
return Ray.internal().callPy(moduleName, functionName, args, options);
|
||||
return Ray.internal().call(pyRemoteFunction, args, options);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass) {
|
||||
Object[] args = new Object[]{};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, null);
|
||||
return Ray.internal().createActor(pyActorClass, args, null);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, ActorCreationOptions options) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, ActorCreationOptions options) {
|
||||
Object[] args = new Object[]{};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, options);
|
||||
return Ray.internal().createActor(pyActorClass, args, options);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0) {
|
||||
Object[] args = new Object[]{obj0};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, null);
|
||||
return Ray.internal().createActor(pyActorClass, args, null);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, ActorCreationOptions options) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, ActorCreationOptions options) {
|
||||
Object[] args = new Object[]{obj0};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, options);
|
||||
return Ray.internal().createActor(pyActorClass, args, options);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1) {
|
||||
Object[] args = new Object[]{obj0, obj1};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, null);
|
||||
return Ray.internal().createActor(pyActorClass, args, null);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, ActorCreationOptions options) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, ActorCreationOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, options);
|
||||
return Ray.internal().createActor(pyActorClass, args, options);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, Object obj2) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, null);
|
||||
return Ray.internal().createActor(pyActorClass, args, null);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, Object obj2, ActorCreationOptions options) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, ActorCreationOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, options);
|
||||
return Ray.internal().createActor(pyActorClass, args, options);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, Object obj2, Object obj3) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, null);
|
||||
return Ray.internal().createActor(pyActorClass, args, null);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, Object obj2, Object obj3, ActorCreationOptions options) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3, ActorCreationOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, options);
|
||||
return Ray.internal().createActor(pyActorClass, args, options);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, null);
|
||||
return Ray.internal().createActor(pyActorClass, args, null);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, ActorCreationOptions options) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, ActorCreationOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, options);
|
||||
return Ray.internal().createActor(pyActorClass, args, options);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4, obj5};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, null);
|
||||
return Ray.internal().createActor(pyActorClass, args, null);
|
||||
}
|
||||
|
||||
public static RayPyActor createPyActor(String moduleName, String className, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5, ActorCreationOptions options) {
|
||||
public static RayPyActor createActor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5, ActorCreationOptions options) {
|
||||
Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4, obj5};
|
||||
return Ray.internal().createPyActor(moduleName, className, args, options);
|
||||
return Ray.internal().createActor(pyActorClass, args, options);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package org.ray.api.function;
|
||||
|
||||
/**
|
||||
* A class that represents a Python actor class.
|
||||
*
|
||||
* <pre>
|
||||
* example_package/
|
||||
* ├──__init__.py
|
||||
* └──example_module.py
|
||||
*
|
||||
* in example_module.py there is an actor class A.
|
||||
*
|
||||
* \@ray.remote
|
||||
* class A(object):
|
||||
* def __init__(self, x):
|
||||
* self.x = x
|
||||
*
|
||||
* we can create this Python actor from Java:
|
||||
*
|
||||
* {@code
|
||||
* RayPyActor actor = Ray.createActor(new PyActorClass("example_package.example_module", "A"),
|
||||
* "the value for x");
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
public class PyActorClass {
|
||||
// The full module name of this actor class
|
||||
public final String moduleName;
|
||||
// The name of this actor class
|
||||
public final String className;
|
||||
|
||||
public PyActorClass(String moduleName, String className) {
|
||||
this.moduleName = moduleName;
|
||||
this.className = className;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package org.ray.api.function;
|
||||
|
||||
/**
|
||||
* A class that represents a method of a Python actor.
|
||||
*
|
||||
* Note, information about the actor will be inferred from the actor handle,
|
||||
* so it's not specified in this class.
|
||||
*
|
||||
* <pre>
|
||||
* there is a Python actor class A.
|
||||
*
|
||||
* \@ray.remote
|
||||
* class A(object):
|
||||
* def foo(self):
|
||||
* return "Hello world!"
|
||||
*
|
||||
* suppose we have got the Python actor class A's handle in Java
|
||||
*
|
||||
* {@code
|
||||
* RayPyActor actor = ...; // returned from Ray.createActor or passed from Python
|
||||
* }
|
||||
*
|
||||
* then we can call the actor method:
|
||||
*
|
||||
* {@code
|
||||
* // A.foo returns a string, so we have to set the returnType to String.class
|
||||
* RayObject<String> res = actor.call(new PyActorMethod<>("foo", String.class));
|
||||
* String x = res.get();
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
public class PyActorMethod<R> {
|
||||
// The name of this actor method
|
||||
public final String methodName;
|
||||
// Type of the return value of this actor method
|
||||
public final Class<R> returnType;
|
||||
|
||||
public PyActorMethod(String methodName, Class<R> returnType) {
|
||||
this.methodName = methodName;
|
||||
this.returnType = returnType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package org.ray.api.function;
|
||||
|
||||
/**
|
||||
* A class that represents a Python remote function.
|
||||
*
|
||||
* <pre>
|
||||
* example_package/
|
||||
* ├──__init__.py
|
||||
* └──example_module.py
|
||||
*
|
||||
* in example_module.py there is a function.
|
||||
*
|
||||
* \@ray.remote
|
||||
* def bar(v):
|
||||
* return v
|
||||
*
|
||||
* then we can call the Python function bar:
|
||||
*
|
||||
* {@code
|
||||
* // bar returns input, so we have to set the returnType to int.class if bar accepts an int
|
||||
* RayObject<Integer> res = actor.call(
|
||||
* new PyRemoteFunction<>("example_package.example_module", "bar", Integer.class),
|
||||
* 1);
|
||||
* Integer value = res.get();
|
||||
*
|
||||
* // bar returns input, so we have to set the returnType to String.class if bar accepts a string
|
||||
* RayObject<String> res = actor.call(
|
||||
* new PyRemoteFunction<>("example_package.example_module", "bar", String.class),
|
||||
* "Hello world!");
|
||||
* String value = res.get();
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
public class PyRemoteFunction<R> {
|
||||
// The full module name of this function
|
||||
public final String moduleName;
|
||||
// The name of this function
|
||||
public final String functionName;
|
||||
// Type of the return value of this function
|
||||
public final Class<R> returnType;
|
||||
|
||||
public PyRemoteFunction(String moduleName, String functionName, Class<R> returnType) {
|
||||
this.moduleName = moduleName;
|
||||
this.functionName = functionName;
|
||||
this.returnType = returnType;
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,9 @@ import org.ray.api.RayActor;
|
||||
import org.ray.api.RayObject;
|
||||
import org.ray.api.RayPyActor;
|
||||
import org.ray.api.WaitResult;
|
||||
import org.ray.api.function.PyActorClass;
|
||||
import org.ray.api.function.PyActorMethod;
|
||||
import org.ray.api.function.PyRemoteFunction;
|
||||
import org.ray.api.function.RayFunc;
|
||||
import org.ray.api.id.ObjectId;
|
||||
import org.ray.api.id.UniqueId;
|
||||
@@ -95,15 +98,35 @@ public interface RayRuntime {
|
||||
*/
|
||||
RayObject call(RayFunc func, Object[] args, CallOptions options);
|
||||
|
||||
/**
|
||||
* Invoke a remote Python function.
|
||||
*
|
||||
* @param pyRemoteFunction The Python function.
|
||||
* @param args Arguments of the function.
|
||||
* @param options The options for this call.
|
||||
* @return The result object.
|
||||
*/
|
||||
RayObject call(PyRemoteFunction pyRemoteFunction, Object[] args, CallOptions options);
|
||||
|
||||
/**
|
||||
* Invoke a remote function on an actor.
|
||||
*
|
||||
* @param func The remote function to run, it must be a method of the given actor.
|
||||
* @param actor A handle to the actor.
|
||||
* @param func The remote function to run, it must be a method of the given actor.
|
||||
* @param args The arguments of the remote function.
|
||||
* @return The result object.
|
||||
*/
|
||||
RayObject callActor(RayFunc func, RayActor<?> actor, Object[] args);
|
||||
RayObject callActor(RayActor<?> actor, RayFunc func, Object[] args);
|
||||
|
||||
/**
|
||||
* Invoke a remote Python function on an actor.
|
||||
*
|
||||
* @param pyActor A handle to the actor.
|
||||
* @param pyActorMethod The actor method.
|
||||
* @param args Arguments of the function.
|
||||
* @return The result object.
|
||||
*/
|
||||
RayObject callActor(RayPyActor pyActor, PyActorMethod pyActorMethod, Object[] args);
|
||||
|
||||
/**
|
||||
* Create an actor on a remote node.
|
||||
@@ -117,40 +140,18 @@ public interface RayRuntime {
|
||||
<T> RayActor<T> createActor(RayFunc actorFactoryFunc, Object[] args,
|
||||
ActorCreationOptions options);
|
||||
|
||||
RuntimeContext getRuntimeContext();
|
||||
|
||||
/**
|
||||
* Invoke a remote Python function.
|
||||
*
|
||||
* @param moduleName Module name of the Python function.
|
||||
* @param functionName Name of the Python function.
|
||||
* @param args Arguments of the function.
|
||||
* @param options The options for this call.
|
||||
* @return The result object.
|
||||
*/
|
||||
RayObject callPy(String moduleName, String functionName, Object[] args, CallOptions options);
|
||||
|
||||
/**
|
||||
* Invoke a remote Python function on an actor.
|
||||
*
|
||||
* @param pyActor A handle to the actor.
|
||||
* @param functionName Name of the actor method.
|
||||
* @param args Arguments of the function.
|
||||
* @return The result object.
|
||||
*/
|
||||
RayObject callPyActor(RayPyActor pyActor, String functionName, Object[] args);
|
||||
|
||||
/**
|
||||
* Create a Python actor on a remote node.
|
||||
*
|
||||
* @param moduleName Module name of the Python actor class.
|
||||
* @param className Name of the Python actor class.
|
||||
* @param pyActorClass The Python actor class.
|
||||
* @param args Arguments of the actor constructor.
|
||||
* @param options The options for creating actor.
|
||||
* @return A handle to the actor.
|
||||
*/
|
||||
RayPyActor createPyActor(String moduleName, String className, Object[] args,
|
||||
ActorCreationOptions options);
|
||||
RayPyActor createActor(PyActorClass pyActorClass, Object[] args,
|
||||
ActorCreationOptions options);
|
||||
|
||||
RuntimeContext getRuntimeContext();
|
||||
|
||||
Object getAsyncContext();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user