package com.cwa.msg.batch; import com.cwa.gamecore.io.GameInput; import com.cwa.gamecore.message.AbstractRequest; import com.cwa.gamecore.message.GameMessage; import com.cwa.gamecore.message.GameRequest; import com.cwa.gamecore.message.MessageFactory; import com.cwa.gamecore.util.MessageUtil; /** * 批量请求,只针对HTTP游戏设计。 */ public class BatchRequest extends AbstractRequest { private GameRequest[] requests; public BatchRequest() { super(GameMessage.CMD_BATCH_ACTION); } public GameRequest[] getRequests() { return requests; } public void setRequests(GameRequest[] requests) { this.requests = requests; } @Override public void decodeBody(GameInput in) { int batchSize = in.get(); requests = new GameRequest[batchSize]; for (int i = 0; i <batchSize; i++) { requests[i] = readRequest(in); } } private GameRequest readRequest(GameInput in) { return MessageUtil.decode(in, MessageFactory.getInstance()); } }