added listeners so that exceptions get thrown

This commit is contained in:
betasteward 2015-06-13 14:06:23 -04:00
parent 864a318b3f
commit a241556fdc
9 changed files with 26 additions and 16 deletions

View file

@ -27,6 +27,7 @@ import org.mage.network.handlers.ExceptionHandler;
import org.mage.network.handlers.MessageHandler;
import org.mage.network.handlers.server.HeartbeatHandler;
import org.mage.network.handlers.PingMessageHandler;
import org.mage.network.handlers.WriteListener;
import org.mage.network.handlers.server.ChatMessageHandler;
import org.mage.network.handlers.server.ConnectionHandler;
import org.mage.network.handlers.server.RegisterClientMessageHandler;
@ -151,17 +152,17 @@ public class Server {
public void sendChatMessage(String sessionId, UUID chatId, ChatMessage message) {
Channel ch = findChannel(sessionId);
if (ch != null)
ch.writeAndFlush(new ChatMessageMessage(chatId, message));
ch.writeAndFlush(new ChatMessageMessage(chatId, message)).addListener(WriteListener.getInstance());
}
public void informClient(String sessionId, String title, String message, MessageType type) {
Channel ch = findChannel(sessionId);
if (ch != null)
ch.writeAndFlush(new InformClientMessage(title, message, type));
ch.writeAndFlush(new InformClientMessage(title, message, type)).addListener(WriteListener.getInstance());
}
public void informClients(String title, String message, MessageType type) {
clients.writeAndFlush(new InformClientMessage(title, message, type));
clients.writeAndFlush(new InformClientMessage(title, message, type)).addListener(WriteListener.getInstance());
}
public void pingClient(String sessionId) {
@ -175,7 +176,7 @@ public class Server {
public void joinedTable(String sessionId, UUID roomId, UUID tableId, UUID chatId, boolean owner, boolean tournament) {
Channel ch = findChannel(sessionId);
if (ch != null)
ch.writeAndFlush(new JoinedTableMessage(roomId, tableId, chatId, owner, tournament));
ch.writeAndFlush(new JoinedTableMessage(roomId, tableId, chatId, owner, tournament)).addListener(WriteListener.getInstance());
}

View file

@ -3,6 +3,7 @@ package org.mage.network.handlers.client;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import java.util.UUID;
import org.mage.network.handlers.WriteListener;
import org.mage.network.interfaces.MageClient;
import org.mage.network.model.ChatMessageMessage;
import org.mage.network.model.ChatMessageRequest;
@ -32,6 +33,6 @@ public class ChatMessageHandler extends SimpleChannelInboundHandler<ChatMessageM
}
public void sendMessage(UUID chatId, String message) {
ctx.writeAndFlush(new ChatMessageRequest(chatId, message));
ctx.writeAndFlush(new ChatMessageRequest(chatId, message)).addListener(WriteListener.getInstance());
}
}

View file

@ -5,6 +5,7 @@ import io.netty.channel.SimpleChannelInboundHandler;
import java.util.UUID;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import org.mage.network.handlers.WriteListener;
import org.mage.network.model.ChatRoomIdMessage;
import org.mage.network.model.ChatRoomIdRequest;
import org.mage.network.model.JoinChatRequest;
@ -32,16 +33,16 @@ public class ChatRoomHandler extends SimpleChannelInboundHandler<ChatRoomIdMessa
public UUID getChatRoomId(UUID roomId) throws Exception {
queue.clear();
ctx.writeAndFlush(new ChatRoomIdRequest(roomId));
ctx.writeAndFlush(new ChatRoomIdRequest(roomId)).addListener(WriteListener.getInstance());
return queue.take();
}
public void joinChat(UUID chatId) {
ctx.writeAndFlush(new JoinChatRequest(chatId));
ctx.writeAndFlush(new JoinChatRequest(chatId)).addListener(WriteListener.getInstance());
}
public void leaveChat(UUID chatId) {
ctx.writeAndFlush(new LeaveChatRequest(chatId));
ctx.writeAndFlush(new LeaveChatRequest(chatId)).addListener(WriteListener.getInstance());
}
}

View file

@ -6,6 +6,7 @@ import java.util.UUID;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import mage.cards.decks.DeckCardLists;
import org.mage.network.handlers.WriteListener;
import org.mage.network.model.JoinTableMessage;
import org.mage.network.model.JoinTableRequest;
@ -32,7 +33,7 @@ public class JoinTableMessageHandler extends SimpleChannelInboundHandler<JoinTab
public boolean joinTable(UUID roomId, UUID tableId, String name, String playerType, int skill, DeckCardLists deckList, String password) throws Exception {
queue.clear();
ctx.writeAndFlush(new JoinTableRequest(roomId, tableId, name, playerType, skill, deckList, password));
ctx.writeAndFlush(new JoinTableRequest(roomId, tableId, name, playerType, skill, deckList, password)).addListener(WriteListener.getInstance());
return queue.take();
}

View file

@ -5,6 +5,7 @@ import io.netty.channel.SimpleChannelInboundHandler;
import java.util.UUID;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import org.mage.network.handlers.WriteListener;
import org.mage.network.model.LeaveTableRequest;
import org.mage.network.model.LeftTableMessage;
@ -31,7 +32,7 @@ public class LeaveTableMessageHandler extends SimpleChannelInboundHandler<LeftTa
public boolean leaveTable(UUID roomId, UUID tableId) throws Exception {
queue.clear();
ctx.writeAndFlush(new LeaveTableRequest(roomId, tableId));
ctx.writeAndFlush(new LeaveTableRequest(roomId, tableId)).addListener(WriteListener.getInstance());
return queue.take();
}

View file

@ -6,6 +6,7 @@ import java.util.UUID;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import mage.view.RoomView;
import org.mage.network.handlers.WriteListener;
import org.mage.network.model.GetRoomRequest;
import org.mage.network.model.RoomMessage;
@ -32,7 +33,7 @@ public class RoomMessageHandler extends SimpleChannelInboundHandler<RoomMessage>
public RoomView getRoom(UUID roomId) throws Exception {
queue.clear();
ctx.writeAndFlush(new GetRoomRequest(roomId));
ctx.writeAndFlush(new GetRoomRequest(roomId)).addListener(WriteListener.getInstance());
return queue.take();
}

View file

@ -5,6 +5,7 @@ import io.netty.channel.SimpleChannelInboundHandler;
import java.util.List;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import org.mage.network.handlers.WriteListener;
import org.mage.network.model.ServerMessagesMessage;
import org.mage.network.model.ServerMessagesRequest;
@ -31,7 +32,7 @@ public class ServerMessageHandler extends SimpleChannelInboundHandler<ServerMess
public List<String> getServerMessages() throws Exception {
queue.clear();
ctx.writeAndFlush(new ServerMessagesRequest());
ctx.writeAndFlush(new ServerMessagesRequest()).addListener(WriteListener.getInstance());
return queue.take();
}

View file

@ -7,6 +7,7 @@ import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import mage.game.match.MatchOptions;
import mage.view.TableView;
import org.mage.network.handlers.WriteListener;
import org.mage.network.model.CreateTableMessage;
import org.mage.network.model.CreateTableRequest;
import org.mage.network.model.RemoveTableRequest;
@ -34,16 +35,17 @@ public class TableMessageHandler extends SimpleChannelInboundHandler<CreateTable
}
public TableView createTable(UUID roomId, MatchOptions options) throws Exception {
ctx.writeAndFlush(new CreateTableRequest(roomId, options));
queue.clear();
ctx.writeAndFlush(new CreateTableRequest(roomId, options)).addListener(WriteListener.getInstance());
return queue.take();
}
public void removeTable(UUID roomId, UUID tableId) throws Exception {
ctx.writeAndFlush(new RemoveTableRequest(roomId, tableId));
ctx.writeAndFlush(new RemoveTableRequest(roomId, tableId)).addListener(WriteListener.getInstance());
}
public void swapSeats(UUID roomId, UUID tableId, int seatNum1, int seatNum2) throws Exception {
ctx.writeAndFlush(new SwapSeatRequest(roomId, tableId, seatNum1, seatNum2));
ctx.writeAndFlush(new SwapSeatRequest(roomId, tableId, seatNum1, seatNum2)).addListener(WriteListener.getInstance());
}
}

View file

@ -6,6 +6,7 @@ import java.util.UUID;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import mage.view.TableView;
import org.mage.network.handlers.WriteListener;
import org.mage.network.model.TableWaitingMessage;
import org.mage.network.model.TableWaitingRequest;
@ -32,7 +33,7 @@ public class TableWaitingMessageHandler extends SimpleChannelInboundHandler<Tabl
public TableView getTable(UUID roomId, UUID tableId) throws Exception {
queue.clear();
ctx.writeAndFlush(new TableWaitingRequest(roomId, tableId));
ctx.writeAndFlush(new TableWaitingRequest(roomId, tableId)).addListener(WriteListener.getInstance());
return queue.take();
}