package tc.oc.api.ocn;
import javax.inject.Inject;
import com.google.common.util.concurrent.ListenableFuture;
import tc.oc.api.docs.Ticket;
import tc.oc.api.games.TicketService;
import tc.oc.api.message.types.CycleRequest;
import tc.oc.api.message.types.CycleResponse;
import tc.oc.api.message.types.PlayGameRequest;
import tc.oc.api.message.types.Reply;
import tc.oc.api.queue.QueueQueryService;
import tc.oc.api.queue.Transaction;
public class OCNTicketService extends QueueQueryService<Ticket> implements TicketService {
@Inject private Transaction.Factory transactionFactory;
@Override
public ListenableFuture<Reply> requestPlay(PlayGameRequest request) {
return transactionFactory.request(request);
}
@Override
public ListenableFuture<CycleResponse> requestCycle(CycleRequest request) {
return transactionFactory.request(request, CycleResponse.class);
}
}