org.jpos.iso.channel
Class X25Channel

java.lang.Object
  extended by java.util.Observable
      extended by org.jpos.iso.BaseChannel
          extended by org.jpos.iso.channel.X25Channel
All Implemented Interfaces:
Cloneable, Configurable, BaseChannelMBean, ClientChannel, FactoryChannel, FilteredChannel, ISOChannel, ISOSource, ServerChannel, LogSource

public class X25Channel
extends BaseChannel

Implements an ISOChannel suitable to be used to connect to an X.25 PAD. It waits a limited amount of time to decide when a packet is ready to be unpacked. This channel is based on PADChannel version 1.4. The new version seems to have some problems dealing with ETXs (we're working on it). Use this version _only_ if you have problems with current PADChannel as it will be deprecated some time in the future.

Version:
$Id$
Author:
Alejandro P. Revilla
See Also:
ISOMsg, ISOException, ISOChannel

Field Summary
protected  byte[] header
           
 
Fields inherited from class org.jpos.iso.BaseChannel
cnt, incomingFilters, logger, originalRealm, outgoingFilters, overrideHeader, packager, realm, serverIn, serverInLock, serverOut, serverOutLock, serverSocket, socketFactory, usable
 
Fields inherited from interface org.jpos.iso.ISOChannel
CONNECT, RX, SIZEOF_CNT, TX
 
Constructor Summary
X25Channel()
          No-args constructor
X25Channel(ISOPackager p)
          Construct server ISOChannel
X25Channel(ISOPackager p, ServerSocket serverSocket)
          constructs a server ISOChannel associated with a Server Socket
X25Channel(String host, int port, ISOPackager p)
          Constructs client ISOChannel
 
Method Summary
protected  void connect(Socket socket)
          setup I/O Streams from socket
 void disconnect()
          disconnects the TCP/IP session.
 byte[] getHeader()
           
protected  int getHeaderLength()
           
protected  void sendMessageHeader(ISOMsg m, int len)
           
 void setHeader(byte[] header)
           
 void setHeader(String header)
           
protected  byte[] streamReceive()
           
 
Methods inherited from class org.jpos.iso.BaseChannel
accept, addFilter, addFilter, addIncomingFilter, addOutgoingFilter, applyIncomingFilters, applyIncomingFilters, applyOutgoingFilters, applyTimeout, clone, connect, createISOMsg, createMsg, getBytes, getChannel, getConfiguration, getCounters, getDynamicHeader, getDynamicPackager, getDynamicPackager, getDynamicPackager, getHeaderLength, getHeaderLength, getHost, getIncomingFilters, getLogger, getMaxPacketLength, getMessage, getMessageLength, getMessageTrailler, getName, getOriginalRealm, getOutgoingFilters, getPackager, getPort, getRealm, getServerSocket, getSocket, getSocketFactory, getTimeout, isConnected, isOverrideHeader, isRejected, newSocket, newSocket, postConnectHook, readHeader, receive, reconnect, removeFilter, removeFilter, removeIncomingFilter, removeOutgoingFilter, resetCounters, send, send, sendKeepAlive, sendMessage, sendMessageLength, sendMessageTrailler, sendMessageTrailler, setConfiguration, setHost, setHost, setIncomingFilters, setLocalAddress, setLogger, setMaxPacketLength, setName, setOutgoingFilters, setOverrideHeader, setPackager, setPort, setServerSocket, setSocketFactory, setTimeout, setUsable, shouldIgnore, unpack
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

header

protected byte[] header
Constructor Detail

X25Channel

public X25Channel()
No-args constructor


X25Channel

public X25Channel(String host,
                  int port,
                  ISOPackager p)
Constructs client ISOChannel

Parameters:
host - server TCP Address
port - server port number
p - an ISOPackager
See Also:
ISOPackager

X25Channel

public X25Channel(ISOPackager p)
           throws IOException
Construct server ISOChannel

Parameters:
p - an ISOPackager
Throws:
IOException
See Also:
ISOPackager

X25Channel

public X25Channel(ISOPackager p,
                  ServerSocket serverSocket)
           throws IOException
constructs a server ISOChannel associated with a Server Socket

Parameters:
p - an ISOPackager
serverSocket - where to accept a connection
Throws:
IOException
See Also:
ISOPackager
Method Detail

streamReceive

protected byte[] streamReceive()
                        throws IOException
Overrides:
streamReceive in class BaseChannel
Returns:
a byte array with the received message
Throws:
IOException

connect

protected void connect(Socket socket)
                throws IOException
Description copied from class: BaseChannel
setup I/O Streams from socket

Overrides:
connect in class BaseChannel
Parameters:
socket - a Socket (client or server)
Throws:
IOException - on error

disconnect

public void disconnect()
                throws IOException
Description copied from class: BaseChannel
disconnects the TCP/IP session. The instance is ready for a reconnection. There is no need to create a new ISOChannel

Specified by:
disconnect in interface BaseChannelMBean
Specified by:
disconnect in interface ISOChannel
Overrides:
disconnect in class BaseChannel
Throws:
IOException

getHeaderLength

protected int getHeaderLength()
Overrides:
getHeaderLength in class BaseChannel

setHeader

public void setHeader(byte[] header)
Overrides:
setHeader in class BaseChannel

setHeader

public void setHeader(String header)
Overrides:
setHeader in class BaseChannel
Parameters:
header - Hex representation of header

getHeader

public byte[] getHeader()
Overrides:
getHeader in class BaseChannel

sendMessageHeader

protected void sendMessageHeader(ISOMsg m,
                                 int len)
                          throws IOException
Overrides:
sendMessageHeader in class BaseChannel
Throws:
IOException


Copyright © 1998-2012 jPOS.org. All Rights Reserved.