/*
This file is part of the OdinMS Maple Story Server
Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
Matthias Butz <matze@odinms.de>
Jan Christian Meyer <vimes@odinms.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License version 3
as published by the Free Software Foundation. You may not use, modify
or distribute this program under any other version of the
GNU Affero General Public License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package tools;
import java.net.SocketAddress;
import java.util.Set;
import org.apache.mina.core.filterchain.IoFilterChain;
import org.apache.mina.core.future.CloseFuture;
import org.apache.mina.core.future.ReadFuture;
import org.apache.mina.core.future.WriteFuture;
import org.apache.mina.core.service.IoHandler;
import org.apache.mina.core.service.IoService;
import org.apache.mina.core.service.TransportMetadata;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;
import org.apache.mina.core.session.IoSessionConfig;
import org.apache.mina.core.write.WriteRequest;
import org.apache.mina.core.write.WriteRequestQueue;
/**
* Represents a mock version of an IOSession to use a MapleClient instance
* without an active connection (faekchar, etc).
*
* Most methods return void, or when they return something, null. Therefore,
* this class is mostly undocumented, due to the fact that each and every
* function does squat.
*
* @author Frz
* @since Revision 518
* @version 1.0
*/
public class MockIOSession implements IoSession {
/**
* Does nothing.
*
* @return
*/
@Override
public IoSessionConfig getConfig() {
return null;
}
/**
* Does nothing.
*
* @return
*/
@Override
public IoFilterChain getFilterChain() {
return null;
}
/**
* Does nothing.
*
* @return
*/
@Override
public IoHandler getHandler() {
return null;
}
/**
* Does nothing.
*
* @return
*/
@Override
public SocketAddress getLocalAddress() {
return null;
}
/**
* Does nothing.
*
* @return
*/
@Override
public SocketAddress getRemoteAddress() {
return null;
}
/**
* Does nothing.
*
* @return
*/
@Override
public IoService getService() {
return null;
}
/**
* Does nothing.
*
* @return
*/
@Override
public SocketAddress getServiceAddress() {
return null;
}
/**
* Does nothing.
*
* @param message
* @param remoteAddress
* @return
*/
@Override
public WriteFuture write(Object message, SocketAddress remoteAddress) {
return null;
}
/**
* "Fake writes" a packet to the client, only running the OnSend event of
* the packet.
*
* @param message
* @return
*/
@Override
public WriteFuture write(Object message) {
return null;
}
@Override
public long getId() {
return -1;
}
@Override
public WriteRequestQueue getWriteRequestQueue() {
return null;
}
@Override
public TransportMetadata getTransportMetadata() {
return null;
}
@Override
public ReadFuture read() {
return null;
}
@Override
public CloseFuture close(boolean bln) {
return null;
}
@Override
public Object getAttribute(Object o) {
return null;
}
@Override
public Object getAttribute(Object o, Object o1) {
return null;
}
@Override
public Object setAttribute(Object o, Object o1) {
return null;
}
@Override
public Object setAttribute(Object o) {
return null;
}
@Override
public Object setAttributeIfAbsent(Object o, Object o1) {
return null;
}
@Override
public Object setAttributeIfAbsent(Object o) {
return null;
}
@Override
public Object removeAttribute(Object o) {
return null;
}
@Override
public boolean removeAttribute(Object o, Object o1) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public boolean replaceAttribute(Object o, Object o1, Object o2) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public boolean containsAttribute(Object o) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public Set<Object> getAttributeKeys() {
return null;
}
@Override
public boolean isConnected() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public boolean isClosing() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public CloseFuture getCloseFuture() {
return null;
}
@Override
public void setCurrentWriteRequest(WriteRequest wr) {
}
@Override
public void suspendRead() {
}
@Override
public void suspendWrite() {
}
@Override
public void resumeRead() {
}
@Override
public void resumeWrite() {
}
@Override
public boolean isReadSuspended() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public boolean isWriteSuspended() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void updateThroughput(long l, boolean bln) {
}
@Override
public long getReadBytes() {
return -1;
}
@Override
public long getWrittenBytes() {
return -1;
}
@Override
public long getReadMessages() {
return -1;
}
@Override
public long getWrittenMessages() {
return -1;
}
@Override
public double getReadBytesThroughput() {
return -1;
}
@Override
public double getWrittenBytesThroughput() {
return -1;
}
@Override
public double getReadMessagesThroughput() {
return -1;
}
@Override
public double getWrittenMessagesThroughput() {
return -1;
}
@Override
public int getScheduledWriteMessages() {
return -1;
}
@Override
public long getScheduledWriteBytes() {
return -1;
}
@Override
public Object getCurrentWriteMessage() {
return null;
}
@Override
public WriteRequest getCurrentWriteRequest() {
return null;
}
@Override
public long getCreationTime() {
return -1;
}
@Override
public long getLastIoTime() {
return -1;
}
@Override
public long getLastReadTime() {
return -1;
}
@Override
public long getLastWriteTime() {
return -1;
}
@Override
public boolean isIdle(IdleStatus is) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public boolean isReaderIdle() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public boolean isWriterIdle() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public boolean isBothIdle() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public int getIdleCount(IdleStatus is) {
return -1;
}
@Override
public int getReaderIdleCount() {
return -1;
}
@Override
public int getWriterIdleCount() {
return -1;
}
@Override
public int getBothIdleCount() {
return -1;
}
@Override
public long getLastIdleTime(IdleStatus is) {
return -1;
}
@Override
public long getLastReaderIdleTime() {
return -1;
}
@Override
public long getLastWriterIdleTime() {
return -1;
}
@Override
public long getLastBothIdleTime() {
return -1;
}
@Deprecated
@Override
public CloseFuture close() {
return null;
}
@Deprecated
@Override
public Object getAttachment() {
return null;
}
@Deprecated
@Override
public Object setAttachment(Object o) {
return null;
}
@Override
public boolean isSecured() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}