/**
* Copyright (C) 2013 Alexander Szczuczko
*
* This file may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*/
package ca.szc.keratin.core.event.message.recieve;
import org.pmw.tinylog.Logger;
import ca.szc.keratin.core.event.message.MessageReceive;
import ca.szc.keratin.core.net.io.OutputQueue;
import ca.szc.keratin.core.net.message.InvalidMessageParamException;
import ca.szc.keratin.core.net.message.IrcMessage;
public class ReceivePing
extends MessageReceive
{
public static final String COMMAND = "PING";
private final String[] params;
public ReceivePing( OutputQueue replyQueue, IrcMessage message )
{
super( replyQueue, message );
params = message.getParams();
}
public String[] getParams()
{
return params;
}
public void pong()
{
try
{
if ( params.length == 1 )
getReplyQueue().pong( params[0] );
else if ( params.length == 2 )
getReplyQueue().pong( params[0], params[1] );
else
Logger.error( "Can't PONG, invalid number of PING message parameters" );
}
catch ( InvalidMessageParamException e )
{
Logger.error( e, "Error creating reply message" );
}
}
}