org.jafer.util
Class PDUDriver

java.lang.Object
  |
  +--org.jafer.util.PDUDriver

public class PDUDriver
extends java.lang.Object

Used by ZClient and ZServer Session for Z39.50 input/output - each session has it's own PDUDriver. Includes methods for get/send PDU and close. I/O errors throw org.jafer.util.ConnectionException - caught and handled by the session object.

Version:
1.0
Author:
Antony Corfield; Matthew Dovey; Colin Tatham

Field Summary
private  java.util.Hashtable closeReason
           
private  java.io.BufferedOutputStream dest
           
private static java.util.logging.Logger logger
           
private  java.lang.String sessionName
           
private  java.net.Socket socket
           
private  java.io.BufferedInputStream src
           
 
Constructor Summary
PDUDriver(java.lang.String sessionName, java.net.Socket socket, int timeout)
           
 
Method Summary
 asn1.BEREncoding getBEREncoding()
           
private  java.lang.String getCloseReason(int k)
           
 z3950.v3.PDU getPDU()
           
 void initClose(int reason)
           
private  java.util.Hashtable loadCloseReason(java.util.Hashtable closeReason)
           
 void respClose(z3950.v3.PDU pduRequest)
           
 void sendPDU(z3950.v3.PDU pduResponse)
           
private  void waitClosePDU()
           
private  z3950.v3.PDU waitForPDU()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static java.util.logging.Logger logger

closeReason

private java.util.Hashtable closeReason

socket

private java.net.Socket socket

src

private java.io.BufferedInputStream src

dest

private java.io.BufferedOutputStream dest

sessionName

private java.lang.String sessionName
Constructor Detail

PDUDriver

public PDUDriver(java.lang.String sessionName,
                 java.net.Socket socket,
                 int timeout)
          throws java.io.IOException
Method Detail

getBEREncoding

public asn1.BEREncoding getBEREncoding()
                                throws ConnectionException
ConnectionException

getPDU

public z3950.v3.PDU getPDU()
                    throws ConnectionException
ConnectionException

sendPDU

public void sendPDU(z3950.v3.PDU pduResponse)
             throws ConnectionException
ConnectionException

initClose

public void initClose(int reason)
               throws ConnectionException
ConnectionException

respClose

public void respClose(z3950.v3.PDU pduRequest)
               throws ConnectionException
ConnectionException

waitClosePDU

private void waitClosePDU()

waitForPDU

private z3950.v3.PDU waitForPDU()
                         throws ConnectionException
ConnectionException

getCloseReason

private java.lang.String getCloseReason(int k)

loadCloseReason

private java.util.Hashtable loadCloseReason(java.util.Hashtable closeReason)