package com.jds.jn_module.network.session; import com.jds.jn_module.JnModule; import com.jds.jn_module.network.packets.JPacket; import java.util.ArrayList; import java.util.Iterator; /** * Author: VISTALL * Company: J Develop Station * Date: 2:55:48/04.04.2010 */ public class Session implements Iterable<JPacket> { private final long _sessionId; private final PacketBuffer _serverbuf = new PacketBuffer(); private final PacketBuffer _clientbuf = new PacketBuffer(); private final Sequenced _clientSequenced = new Sequenced(); private final Sequenced _serverSequenced = new Sequenced(); private volatile ArrayList<JPacket> _packets = new ArrayList<JPacket>(); public Session(long s) { _sessionId = s; } public long getSessionId() { return _sessionId; } public void receivePacket(JPacket packet) { JnModule.getInstance().setPacketCount(_packets.size()); _packets.add(packet); } public int size() { return _packets.size(); } public PacketBuffer getServerbuf() { return _serverbuf; } public PacketBuffer getClientbuf() { return _clientbuf; } public Sequenced getClientSequenced() { return _clientSequenced; } public Sequenced getServerSequenced() { return _serverSequenced; } @Override public Iterator<JPacket> iterator() { return _packets.iterator(); } }