Fixed bug with PacketThrottler, and made TileValues actual value objects. TileValues no longer have duplicate instances, which drastically reduces memory usage.

This commit is contained in:
CodeForFame 2012-01-07 15:11:45 -06:00
parent eb9c5f6e85
commit dd025770c0
30 changed files with 1148 additions and 619 deletions

View File

@ -101,8 +101,13 @@ public class PacketThrottler extends IoFilterAdapter {
// needs to be synchronized.
synchronized (playerToPacketCount) {
// If it is null, it will default to 0
count = playerToPacketCount.get(hash) + 1;
// If it is null, default to 0
Integer i = playerToPacketCount.get(hash);
if(i == null) {
count = 1;
} else {
count = i + 1;
}
// Update/Create entry
playerToPacketCount.put(hash, count);

View File

@ -15,11 +15,11 @@ import org.moparscape.msc.gs.connection.PacketQueue;
import org.moparscape.msc.gs.connection.RSCPacket;
import org.moparscape.msc.gs.connection.filter.IPBanManager;
import org.moparscape.msc.gs.event.DelayedEvent;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Shop;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.snapshot.Snapshot;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.phandler.PacketHandlerDef;

View File

@ -1,9 +1,9 @@
package org.moparscape.msc.gs.event;
import org.moparscape.msc.gs.Instance;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
public class ObjectRemover extends DelayedEvent {
public static final World world = Instance.getWorld();

View File

@ -10,9 +10,9 @@ import org.moparscape.msc.gs.model.InvItem;
import org.moparscape.msc.gs.model.Item;
import org.moparscape.msc.gs.model.Mob;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.PathGenerator;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Projectile;
import org.moparscape.msc.gs.model.landscape.PathGenerator;
import org.moparscape.msc.gs.model.mini.Damage;
import org.moparscape.msc.gs.states.Action;
import org.moparscape.msc.gs.tools.DataConversions;

View File

@ -16,9 +16,10 @@ import org.moparscape.msc.gs.external.NPCLoc;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.Item;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.Sector;
import org.moparscape.msc.gs.model.Shop;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.MutableTileValue;
import org.moparscape.msc.gs.model.landscape.Sector;
import org.moparscape.msc.gs.tools.DataConversions;
import org.moparscape.msc.gs.util.Logger;
@ -54,11 +55,12 @@ public class WorldLoader {
continue;
}
world.getTileValue(bx, by).overlay = s.getTile(x, y).groundOverlay;
world.getTileValue(bx, by).diagWallVal = s.getTile(x, y).diagonalWalls;
world.getTileValue(bx, by).horizontalWallVal = s.getTile(x, y).horizontalWall;
world.getTileValue(bx, by).verticalWallVal = s.getTile(x, y).verticalWall;
world.getTileValue(bx, by).elevation = s.getTile(x, y).groundElevation;
MutableTileValue t = new MutableTileValue(world.getTileValue(bx, by));
t.overlay = s.getTile(x, y).groundOverlay;
t.diagWallVal = s.getTile(x, y).diagonalWalls;
t.horizontalWallVal = s.getTile(x, y).horizontalWall;
t.verticalWallVal = s.getTile(x, y).verticalWall;
t.elevation = s.getTile(x, y).groundElevation;
/** start of shit **/
if ((s.getTile(x, y).groundOverlay & 0xff) == 250) {
s.getTile(x, y).groundOverlay = (byte) 2;
@ -68,7 +70,7 @@ public class WorldLoader {
if (groundOverlay > 0
&& EntityHandler.getTileDef(groundOverlay - 1)
.getObjectType() != 0) {
world.getTileValue(bx, by).mapValue |= 0x40; // 64
t.mapValue |= 0x40; // 64
}
int verticalWall = s.getTile(x, y).verticalWall & 0xFF;
@ -77,8 +79,10 @@ public class WorldLoader {
.getUnknown() == 0
&& EntityHandler.getDoorDef(verticalWall - 1)
.getDoorType() != 0) {
world.getTileValue(bx, by).mapValue |= 1; // 1
world.getTileValue(bx, by - 1).mapValue |= 4; // 4
t.mapValue |= 1; // 1
MutableTileValue t1 = new MutableTileValue(world.getTileValue(bx, by - 1));
t1.mapValue |= 4; // 4
world.setTileValue(bx, by - 1, t1.toTileValue());
}
int horizontalWall = s.getTile(x, y).horizontalWall & 0xFF;
@ -87,8 +91,10 @@ public class WorldLoader {
.getUnknown() == 0
&& EntityHandler.getDoorDef(horizontalWall - 1)
.getDoorType() != 0) {
world.getTileValue(bx, by).mapValue |= 2; // 2
world.getTileValue(bx - 1, by).mapValue |= 8; // 8
t.mapValue |= 2; // 2
MutableTileValue t1 = new MutableTileValue(world.getTileValue(bx - 1, by));
t1.mapValue |= 8;
world.setTileValue(bx - 1, by, t1.toTileValue());
}
int diagonalWalls = s.getTile(x, y).diagonalWalls;
@ -98,7 +104,7 @@ public class WorldLoader {
.getUnknown() == 0
&& EntityHandler.getDoorDef(diagonalWalls - 1)
.getDoorType() != 0) {
world.getTileValue(bx, by).mapValue |= 0x20; // 32
t.mapValue |= 0x20; // 32
}
if (diagonalWalls > 12000
&& diagonalWalls < 24000
@ -106,8 +112,9 @@ public class WorldLoader {
.getUnknown() == 0
&& EntityHandler.getDoorDef(diagonalWalls - 12001)
.getDoorType() != 0) {
world.getTileValue(bx, by).mapValue |= 0x10; // 16
t.mapValue |= 0x10; // 16
}
world.setTileValue(bx, by, t.toTileValue());
/** end of shit **/
}
}

View File

@ -14,6 +14,7 @@ import org.moparscape.msc.gs.external.EntityHandler;
import org.moparscape.msc.gs.external.ItemDropDef;
import org.moparscape.msc.gs.external.NPCDef;
import org.moparscape.msc.gs.external.NPCLoc;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.plugins.dependencies.NpcAI;
import org.moparscape.msc.gs.states.Action;
import org.moparscape.msc.gs.states.CombatState;

View File

@ -1,6 +1,7 @@
package org.moparscape.msc.gs.model;
import org.moparscape.msc.gs.Instance;
import org.moparscape.msc.gs.model.landscape.TileValue;
public class PathHandler {
/**

View File

@ -1,11 +0,0 @@
package org.moparscape.msc.gs.model;
public class TileValue {
public int diagWallVal = 0;
public byte horizontalWallVal = 0;
public byte mapValue = 0;
public byte objectValue = 0;
public byte overlay = 0;
public byte verticalWallVal = 0;
public byte elevation = 0;
}

View File

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import org.moparscape.msc.gs.Instance;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
public class ViewArea {
private static World world = Instance.getWorld();

View File

@ -19,6 +19,9 @@ import org.moparscape.msc.gs.event.SingleEvent;
import org.moparscape.msc.gs.external.GameObjectLoc;
import org.moparscape.msc.gs.external.NPCLoc;
import org.moparscape.msc.gs.io.WorldLoader;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.landscape.MutableTileValue;
import org.moparscape.msc.gs.model.landscape.TileValue;
import org.moparscape.msc.gs.model.snapshot.Snapshot;
import org.moparscape.msc.gs.npchandler.NpcHandler;
import org.moparscape.msc.gs.npchandler.NpcHandlerDef;
@ -427,7 +430,7 @@ public final class World {
}
TileValue t = tileType[x][y];
if (t == null) {
t = new TileValue();
t = TileValue.create(0, new byte[6]);
tileType[x][y] = t;
}
return t;
@ -468,6 +471,7 @@ public final class World {
/**
* Loads the npc handling classes
*
* @throws Exception
*/
private void loadNpcHandlers() throws Exception {
@ -498,17 +502,23 @@ public final class World {
}
int dir = o.getDirection();
int x = o.getX(), y = o.getY();
MutableTileValue t = new MutableTileValue(getTileValue(x, y));
if (dir == 0) {
getTileValue(x, y).objectValue |= 1;
getTileValue(x, y - 1).objectValue |= 4;
t.objectValue |= 1;
MutableTileValue t1 = new MutableTileValue(getTileValue(x, y - 1));
t1.objectValue |= 4;
setTileValue(x, y - 1, t1.toTileValue());
} else if (dir == 1) {
getTileValue(x, y).objectValue |= 2;
getTileValue(x - 1, y).objectValue |= 8;
t.objectValue |= 2;
MutableTileValue t1 = new MutableTileValue(getTileValue(x - 1, y));
t1.objectValue |= 8;
setTileValue(x - 1, y, t1.toTileValue());
} else if (dir == 2) {
getTileValue(x, y).objectValue |= 0x10;
t.objectValue |= 0x10;
} else if (dir == 3) {
getTileValue(x, y).objectValue |= 0x20;
t.objectValue |= 0x20;
}
setTileValue(x, y, t.toTileValue());
}
/**
@ -582,21 +592,31 @@ public final class World {
}
for (int x = o.getX(); x < o.getX() + width; x++) {
for (int y = o.getY(); y < o.getY() + height; y++) {
MutableTileValue t = new MutableTileValue(getTileValue(x, y));
if (o.getGameObjectDef().getType() == 1) {
getTileValue(x, y).objectValue |= 0x40;
t.objectValue |= 0x40;
} else if (dir == 0) {
getTileValue(x, y).objectValue |= 2;
getTileValue(x - 1, y).objectValue |= 8;
t.objectValue |= 2;
MutableTileValue t1 = new MutableTileValue(getTileValue(x - 1, y));
t1.objectValue |= 8;
setTileValue(x - 1, y, t1.toTileValue());
} else if (dir == 2) {
getTileValue(x, y).objectValue |= 4;
getTileValue(x, y + 1).objectValue |= 1;
t.objectValue |= 4;
MutableTileValue t1 = new MutableTileValue(getTileValue(x, y + 1));
t1.objectValue |= 1;
setTileValue(x, y + 1, t1.toTileValue());
} else if (dir == 4) {
getTileValue(x, y).objectValue |= 8;
getTileValue(x + 1, y).objectValue |= 2;
t.objectValue |= 8;
MutableTileValue t1 = new MutableTileValue(getTileValue(x + 1, y));
t1.objectValue |= 2;
setTileValue(x + 1, y, t1.toTileValue());
} else if (dir == 6) {
getTileValue(x, y).objectValue |= 1;
getTileValue(x, y - 1).objectValue |= 4;
t.objectValue |= 1;
MutableTileValue t1 = new MutableTileValue(getTileValue(x, y - 1));
t1.objectValue |= 4;
setTileValue(x, y - 1, t1.toTileValue());
}
setTileValue(x, y, t.toTileValue());
}
}
@ -702,17 +722,24 @@ public final class World {
}
int dir = o.getDirection();
int x = o.getX(), y = o.getY();
MutableTileValue t = new MutableTileValue(getTileValue(x, y));
if (dir == 0) {
getTileValue(x, y).objectValue &= 0xfffe;
getTileValue(x, y - 1).objectValue &= 65535 - 4;
t.objectValue &= 0xfffe;
MutableTileValue t1 = new MutableTileValue(getTileValue(x, y - 1));
t1.objectValue &= 65535 - 4;
setTileValue(x, y - 1, t1.toTileValue());
} else if (dir == 1) {
getTileValue(x, y).objectValue &= 0xfffd;
getTileValue(x - 1, y).objectValue &= 65535 - 8;
t.objectValue &= 0xfffd;
MutableTileValue t1 = new MutableTileValue(getTileValue(x - 1, y));
t1.objectValue &= 65535 - 8;
setTileValue(x - 1, y, t1.toTileValue());
} else if (dir == 2) {
getTileValue(x, y).objectValue &= 0xffef;
t.objectValue &= 0xffef;
} else if (dir == 3) {
getTileValue(x, y).objectValue &= 0xffdf;
t.objectValue &= 0xffdf;
}
setTileValue(x, y, t.toTileValue());
}
/**
@ -768,21 +795,32 @@ public final class World {
}
for (int x = o.getX(); x < o.getX() + width; x++) {
for (int y = o.getY(); y < o.getY() + height; y++) {
MutableTileValue t = new MutableTileValue(getTileValue(x, y));
if (o.getGameObjectDef().getType() == 1) {
getTileValue(x, y).objectValue &= 0xffbf;
t.objectValue &= 0xffbf;
} else if (dir == 0) {
getTileValue(x, y).objectValue &= 0xfffd;
getTileValue(x - 1, y).objectValue &= 65535 - 8;
t.objectValue &= 0xfffd;
MutableTileValue t1 = new MutableTileValue(getTileValue(x - 1, y));
t1.objectValue &= 65535 - 8;
setTileValue(x - 1, y, t1.toTileValue());
} else if (dir == 2) {
getTileValue(x, y).objectValue &= 0xfffb;
getTileValue(x, y + 1).objectValue &= 65535 - 1;
t.objectValue &= 0xfffb;
MutableTileValue t1 = new MutableTileValue(getTileValue(x, y + 1));
t1.objectValue &= 65535 - 1;
setTileValue(x, y + 1, t1.toTileValue());
} else if (dir == 4) {
getTileValue(x, y).objectValue &= 0xfff7;
getTileValue(x + 1, y).objectValue &= 65535 - 2;
t.objectValue &= 0xfff7;
MutableTileValue t1 = new MutableTileValue(getTileValue(x + 1, y));
t1.objectValue &= 65535 - 2;
setTileValue(x + 1, y, t1.toTileValue());
} else if (dir == 6) {
getTileValue(x, y).objectValue &= 0xfffe;
getTileValue(x, y - 1).objectValue &= 65535 - 4;
t.objectValue &= 0xfffe;
MutableTileValue t1 = new MutableTileValue(getTileValue(x, y - 1));
t1.objectValue &= 65535 - 4;
setTileValue(x, y - 1, t1.toTileValue());
}
setTileValue(x, y, t.toTileValue());
}
}
}
@ -812,4 +850,8 @@ public final class World {
public boolean withinWorld(int x, int y) {
return x >= 0 && x < MAX_WIDTH && y >= 0 && y < MAX_HEIGHT;
}
public void setTileValue(int x, int y, TileValue tileValue) {
tileType[x][y] = tileValue;
}
}

View File

@ -1,10 +1,17 @@
package org.moparscape.msc.gs.model;
package org.moparscape.msc.gs.model.landscape;
import java.util.LinkedList;
import java.util.List;
import org.moparscape.msc.config.Formulae;
import org.moparscape.msc.gs.Instance;
import org.moparscape.msc.gs.model.Entity;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.Item;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Point;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.tools.DataConversions;
public class ActiveTile {

View File

@ -0,0 +1,26 @@
package org.moparscape.msc.gs.model.landscape;
public class MutableTileValue {
public MutableTileValue(TileValue t) {
this.diagWallVal = t.diagWallVal;
this.horizontalWallVal = t.horizontalWallVal;
this.mapValue = t.mapValue;
this.objectValue = t.objectValue;
this.verticalWallVal = t.verticalWallVal;
this.elevation = t.elevation;
}
public int diagWallVal;
public byte horizontalWallVal;
public byte mapValue;
public byte objectValue;
public byte overlay;
public byte verticalWallVal;
public byte elevation;
public TileValue toTileValue() {
return TileValue.create(diagWallVal, new byte[] { horizontalWallVal,
mapValue, objectValue, overlay, verticalWallVal, elevation });
}
}

View File

@ -1,4 +1,4 @@
package org.moparscape.msc.gs.model;
package org.moparscape.msc.gs.model.landscape;
import org.moparscape.msc.gs.Instance;

View File

@ -1,4 +1,4 @@
package org.moparscape.msc.gs.model;
package org.moparscape.msc.gs.model.landscape;
import java.io.IOException;
import java.nio.ByteBuffer;

View File

@ -1,4 +1,4 @@
package org.moparscape.msc.gs.model;
package org.moparscape.msc.gs.model.landscape;
import java.io.IOException;
import java.nio.ByteBuffer;

View File

@ -0,0 +1,62 @@
package org.moparscape.msc.gs.model.landscape;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
public class TileValue {
private static final List<TileValue> tiles = new CopyOnWriteArrayList<TileValue>();
public static TileValue create(int diagWallVal, byte[] v) {
TileValue curr = new TileValue(diagWallVal, v);
int index = tiles.indexOf(curr);
if (index == -1) {
tiles.add(curr);
return curr;
}
return tiles.get(index);
}
private TileValue(int diagWallVal, byte[] v) {
if (v.length != 6) {
throw new IndexOutOfBoundsException("Must have a size of 6");
}
this.diagWallVal = diagWallVal;
this.horizontalWallVal = v[0];
this.mapValue = v[1];
this.objectValue = v[2];
this.overlay = v[3];
this.verticalWallVal = v[4];
this.elevation = v[5];
}
public final int diagWallVal;
public final byte horizontalWallVal;
public final byte mapValue;
public final byte objectValue;
public final byte overlay;
public final byte verticalWallVal;
public final byte elevation;
@Override
public boolean equals(Object o) {
if (o == null || !(o instanceof TileValue)) {
return false;
}
TileValue t = (TileValue) o;
if (this.diagWallVal == t.diagWallVal
&& this.horizontalWallVal == t.horizontalWallVal
&& this.mapValue == t.mapValue
&& this.objectValue == t.objectValue
&& this.overlay == t.overlay
&& this.verticalWallVal == t.verticalWallVal
&& this.elevation == t.elevation) {
return true;
}
return false;
}
}

View File

@ -14,9 +14,9 @@ import org.moparscape.msc.gs.model.ChatMessage;
import org.moparscape.msc.gs.model.InvItem;
import org.moparscape.msc.gs.model.Mob;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.PathGenerator;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.PathGenerator;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.states.Action;

View File

@ -12,9 +12,9 @@ import org.moparscape.msc.gs.event.WalkToMobEvent;
import org.moparscape.msc.gs.external.ItemDef;
import org.moparscape.msc.gs.model.InvItem;
import org.moparscape.msc.gs.model.Inventory;
import org.moparscape.msc.gs.model.PathGenerator;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.PathGenerator;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.states.Action;

View File

@ -9,7 +9,6 @@ import org.moparscape.msc.gs.event.DelayedEvent;
import org.moparscape.msc.gs.event.MiniEvent;
import org.moparscape.msc.gs.event.SingleEvent;
import org.moparscape.msc.gs.external.ItemUnIdentHerbDef;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.Bubble;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.InvItem;
@ -17,6 +16,7 @@ import org.moparscape.msc.gs.model.MenuHandler;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Point;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.tools.DataConversions;

View File

@ -9,7 +9,6 @@ import org.moparscape.msc.gs.event.ShortEvent;
import org.moparscape.msc.gs.event.WalkToPointEvent;
import org.moparscape.msc.gs.external.EntityHandler;
import org.moparscape.msc.gs.external.FiremakingDef;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.Bubble;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.InvItem;
@ -17,6 +16,7 @@ import org.moparscape.msc.gs.model.Item;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Point;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.states.Action;

View File

@ -19,7 +19,6 @@ import org.moparscape.msc.gs.external.ItemSmeltingDef;
import org.moparscape.msc.gs.external.ItemSmithingDef;
import org.moparscape.msc.gs.external.ItemWieldableDef;
import org.moparscape.msc.gs.external.ReqOreDef;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.Bubble;
import org.moparscape.msc.gs.model.ChatMessage;
import org.moparscape.msc.gs.model.GameObject;
@ -28,6 +27,7 @@ import org.moparscape.msc.gs.model.MenuHandler;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.plugins.quests.Dorics;

View File

@ -22,7 +22,6 @@ import org.moparscape.msc.gs.external.GameObjectDef;
import org.moparscape.msc.gs.external.ObjectFishDef;
import org.moparscape.msc.gs.external.ObjectFishingDef;
import org.moparscape.msc.gs.external.ObjectWoodcuttingDef;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.Bubble;
import org.moparscape.msc.gs.model.ChatMessage;
import org.moparscape.msc.gs.model.GameObject;
@ -34,6 +33,7 @@ import org.moparscape.msc.gs.model.Path;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Point;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.plugins.extras.Thieving;

View File

@ -8,7 +8,6 @@ import org.moparscape.msc.gs.connection.Packet;
import org.moparscape.msc.gs.db.DBConnection;
import org.moparscape.msc.gs.event.FightEvent;
import org.moparscape.msc.gs.event.WalkToPointEvent;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.ChatMessage;
import org.moparscape.msc.gs.model.InvItem;
import org.moparscape.msc.gs.model.Item;
@ -16,6 +15,7 @@ import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Point;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.states.Action;

View File

@ -24,16 +24,16 @@ import org.moparscape.msc.gs.external.EntityHandler;
import org.moparscape.msc.gs.external.ItemSmeltingDef;
import org.moparscape.msc.gs.external.ReqOreDef;
import org.moparscape.msc.gs.external.SpellDef;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.InvItem;
import org.moparscape.msc.gs.model.Item;
import org.moparscape.msc.gs.model.Mob;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.PathGenerator;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Projectile;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.landscape.PathGenerator;
import org.moparscape.msc.gs.model.mini.Damage;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;

View File

@ -13,9 +13,9 @@ import org.moparscape.msc.gs.db.DBConnection;
import org.moparscape.msc.gs.external.ItemDef;
import org.moparscape.msc.gs.model.InvItem;
import org.moparscape.msc.gs.model.Inventory;
import org.moparscape.msc.gs.model.PathGenerator;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.PathGenerator;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.tools.DataConversions;

View File

@ -10,13 +10,13 @@ import org.moparscape.msc.gs.event.ShortEvent;
import org.moparscape.msc.gs.event.WalkToPointEvent;
import org.moparscape.msc.gs.external.DoorDef;
import org.moparscape.msc.gs.external.EntityHandler;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.ChatMessage;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Point;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.snapshot.Activity;
import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.plugins.extras.Thieving;

View File

@ -9,7 +9,6 @@ import org.moparscape.msc.gs.event.MiniEvent;
import org.moparscape.msc.gs.event.ShortEvent;
import org.moparscape.msc.gs.event.WalkToMobEvent;
import org.moparscape.msc.gs.external.GameObjectDef;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.Bubble;
import org.moparscape.msc.gs.model.ChatMessage;
import org.moparscape.msc.gs.model.GameObject;
@ -18,6 +17,7 @@ import org.moparscape.msc.gs.model.Mob;
import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.states.Action;
import org.moparscape.msc.gs.util.Logger;

View File

@ -6,7 +6,6 @@ import java.util.Set;
import org.moparscape.msc.gs.core.GameEngine;
import org.moparscape.msc.gs.event.SingleEvent;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.ChatMessage;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.InvItem;
@ -16,6 +15,7 @@ import org.moparscape.msc.gs.model.Npc;
import org.moparscape.msc.gs.model.Player;
import org.moparscape.msc.gs.model.Point;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.util.Logger;
/**

View File

@ -9,9 +9,9 @@ import javax.imageio.ImageIO;
import org.moparscape.msc.config.Config;
import org.moparscape.msc.gs.Instance;
import org.moparscape.msc.gs.model.ActiveTile;
import org.moparscape.msc.gs.model.TileValue;
import org.moparscape.msc.gs.model.World;
import org.moparscape.msc.gs.model.landscape.ActiveTile;
import org.moparscape.msc.gs.model.landscape.TileValue;
public class MapGenerator {
private static final int BLACK = new Color(0, 0, 0).getRGB();

View File

@ -0,0 +1,388 @@
15:02:53 07-01-12: java.lang.NullPointerException
15:02:53 07-01-12:
15:02:53 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.incrementAndGet(Unknown Source)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.messageReceived(Unknown Source)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:53 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.incrementAndGet(Unknown Source)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.messageReceived(Unknown Source)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.filter.BlacklistFilter.messageReceived(BlacklistFilter.java:160)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.incrementAndGet(Unknown Source)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.messageReceived(Unknown Source)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.filter.BlacklistFilter.messageReceived(BlacklistFilter.java:160)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messageReceived(AbstractIoFilterChain.java:499)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:293)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:228)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:198)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(SocketIoProcessor.java:45)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:485)
15:02:53 07-01-12:
15:02:53 07-01-12: at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
15:02:53 07-01-12:
15:02:53 07-01-12: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
15:02:53 07-01-12:
15:02:53 07-01-12: at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
15:02:53 07-01-12:
15:02:53 07-01-12: at java.lang.Thread.run(Unknown Source)
15:02:53 07-01-12:
15:02:54 07-01-12: java.lang.NullPointerException
15:02:54 07-01-12:
15:02:54 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.incrementAndGet(Unknown Source)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.messageReceived(Unknown Source)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.filter.BlacklistFilter.messageReceived(BlacklistFilter.java:160)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messageReceived(AbstractIoFilterChain.java:499)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:293)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:228)
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:293)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:228)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:198)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(SocketIoProcessor.java:45)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:485)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:293)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:228)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:198)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(SocketIoProcessor.java:45)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:485)
15:02:54 07-01-12:
15:02:54 07-01-12: at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
15:02:54 07-01-12:
15:02:54 07-01-12: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
15:02:54 07-01-12:
15:02:54 07-01-12: at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
15:02:54 07-01-12:
15:02:54 07-01-12: at java.lang.Thread.run(Unknown Source)
15:02:54 07-01-12:
15:05:17 07-01-12: java.lang.NullPointerException
15:05:17 07-01-12:
15:05:17 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.incrementAndGet(Unknown Source)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.messageReceived(Unknown Source)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:05:17 07-01-12:
15:05:17 07-01-12:
15:05:17 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.incrementAndGet(Unknown Source)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.messageReceived(Unknown Source)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.filter.BlacklistFilter.messageReceived(BlacklistFilter.java:160)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messageReceived(AbstractIoFilterChain.java:499)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:293)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:228)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:198)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(SocketIoProcessor.java:45)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:485)
15:05:17 07-01-12:
15:05:17 07-01-12: at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
15:05:17 07-01-12:
15:05:17 07-01-12: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
15:05:17 07-01-12:
15:05:17 07-01-12: at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
15:05:17 07-01-12:
15:05:17 07-01-12: at java.lang.Thread.run(Unknown Source)
15:05:17 07-01-12:
15:07:41 07-01-12: java.lang.NullPointerException
15:07:41 07-01-12:
15:07:41 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.incrementAndGet(Unknown Source)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.moparscape.msc.gs.connection.filter.PacketThrottler.messageReceived(Unknown Source)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.filter.BlacklistFilter.messageReceived(BlacklistFilter.java:160)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messageReceived(AbstractIoFilterChain.java:499)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:293)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:228)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:198)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(SocketIoProcessor.java:45)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:485)
15:07:41 07-01-12:
15:07:41 07-01-12: at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
15:07:41 07-01-12:
15:07:41 07-01-12: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
15:07:41 07-01-12:
15:07:41 07-01-12: at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
15:07:41 07-01-12:
15:07:41 07-01-12: at java.lang.Thread.run(Unknown Source)
15:07:41 07-01-12: