public CompletionStage < WheelResult < Result < R > > > callSync ( final SaltClient client , AuthMethod auth ) { Type xor = parameterizedType ( null , Result . class , getReturnType ( ) . getType ( ) ) ; Type wheelResult = parameterizedType ( null , WheelResult . class , xor ) ; Type listType = parameterizedType ( null , List . class , wheelResult ) ; Type wrapperType = parameterizedType ( null , Return . class , listType ) ; @ SuppressWarnings ( "unchecked" ) CompletionStage < WheelResult < Result < R > > > wheelResultCompletionStage = client . call ( this , Client . WHEEL , Optional . empty ( ) , Collections . emptyMap ( ) , ( TypeToken < Return < List < WheelResult < Result < R > > > > > ) TypeToken . get ( wrapperType ) , auth ) . thenApply ( wrapper -> wrapper . getResult ( ) . get ( 0 ) ) ; return wheelResultCompletionStage ; }
Calls a wheel module function on the master and synchronously waits for the result . Authentication is done with the token therefore you have to login prior to using this function .