janus.net
Class ServerConnection

java.lang.Object
  extended by janus.net.Connection
      extended by janus.net.ServerConnection

public class ServerConnection
extends Connection

Diese Klasse ergänzt Connection um Serverfunktionen.


Field Summary
 
Fields inherited from class janus.net.Connection
ACCEPT_SIZE, ADDRESS_SIZE, alias, connected, debug, debugStream, DEFAULT_HOST, DEFAULT_INIT, DEFAULT_PORT, destination, DESTINATION_SIZE, exception, HEADER_SIZE, host, id, init, INIT_SIZE, input, io_buffer, IO_BUFFER_SIZE, io_len, IP_ADDRESS_SIZE, long_number, LONG_NUMBER_SIZE, message_type, MT_ACCEPT, MT_ACK, MT_AWAITIO, MT_CANCEL, MT_DATA, MT_ERROR, MT_INIT, MT_REPLY, MT_TRANSACTION, MT_UNKNOWN, nowait, number, NUMBER_SIZE, nw_buffer, nw_length, nw_offset, option, OPTION_NOWAIT, output, partner, port, reply_len, REPLY_SIZE, server, socket, success_hi, success_lo, TAG_ACCEPT, TAG_ACK, TAG_AWAITIO, TAG_CANCEL, TAG_DATA, TAG_ERROR, TAG_INIT, TAG_REPLY, TAG_SIZE, TAG_TRANSACTION, terminal, TEXT_SIZE, timeout, transaction, TRANSACTION_SIZE, transaction_type, TT_AUTOCOMMIT, TT_BEGIN, TT_COMMIT, TT_IN_PROGRESS, TT_NONE, TT_ROLLBACK, TT_SINGLE, type, ums_address, UMS_ALIAS_SIZE, ums_port, UMS_TERMINAL_SIZE, umsConnection, user_code, user_len, user_offset, userObject
 
Constructor Summary
ServerConnection(Socket socket, String text, PrintWriter stream)
          Konstruktor für eingehende Verbindungen
 
Method Summary
 void cloneState(Connection conn)
          Kopieren des internen Status einer anderen Verbindung.
 void receiveBuffer()
          Empfangen der Antwort in io_buffer.
 int receiveMessage(byte[] buffer, int offset, int len)
          Nachricht von Client.
 int receiveMessage(MessageElement msg)
          Nachricht von Client.
 void sendAck()
          Positive Quittung
 void sendAck(String text)
          Positive Quittung mit Text
protected  void sendError(int error_code, int subsystem, int subsystem_error, int extended_error, int error_class, String text)
          Fehlerantwort
 void sendError(int error_code, String text)
          Fehlerantwort
 void sendError(String text)
          Fehlerantwort
 void sendReply(byte[] buffer, int offset, int len)
          Antwort an Client.
 void sendReply(MessageElement reply)
          Antwort an Client.
 void sendReply(MessageElement reply, int len)
          Antwort an Client.
 void setNowait(boolean nowait)
          Setze den Nowaitstatus
 void setTransaction(boolean transaction)
          Setze den Transaktionsstatus
 
Methods inherited from class janus.net.Connection
abortTransaction, acceptNew, acceptUmsServerSocket, autoCommitTransaction, awaitIo, beginTransaction, cancel, checkConnection, commitTransaction, connect, connect, connect, createSocket, createUmsServerSocket, disconnect, endTransaction, finalize, getAlias, getBuffer, getConnectionParameter, getDebugStream, getDestination, getException, getInit, getIoLen, getMessageType, getNowaitBuffer, getPartner, getReplyLen, getSuccessHi, getSuccessLo, getTerminal, getTimeout, getTransactionType, getUmsAddress, getUmsConnection, getUmsPort, getUserCode, getUserData, getUserData, getUserLen, getUserObject, getUserOffset, isConnected, isDebug, isNowait, isTransaction, main, makeUmsDest, notImplemented, println, rollbackTransaction, sendAccept, sendBuffer, sendBuffer, sendInit, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendTransaction, sendUms, sendUms, sendUms, setDebug, setDebugStream, setDebugStream, setUserObject, singleTransaction, tcpRead, tcpWrite, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ServerConnection

public ServerConnection(Socket socket,
                        String text,
                        PrintWriter stream)
                 throws CommException,
                        TandemException
Konstruktor für eingehende Verbindungen

Parameters:
socket - Bereits verbundener Socket
text - Antworttext für INIT-Nachricht. Wenn null, wird die Antwort nicht gesendet
stream - PrintWriter für Debugging
Throws:
CommException - Allgemeiner Kommunikationsfehler
TandemException - Tandem-Fehler
See Also:
ServerConnection
Method Detail

cloneState

public void cloneState(Connection conn)
Kopieren des internen Status einer anderen Verbindung. Für transparentes Pooling.

Parameters:
conn - Quelle der Daten (normalerweise aus einem ConnectionPool)

receiveBuffer

public void receiveBuffer()
                   throws CommException,
                          TandemException
Empfangen der Antwort in io_buffer. Im Unterschied zu Basisklasse public.

Overrides:
receiveBuffer in class Connection
Throws:
CommException - Allgemeiner Kommunikationsfehler
TandemException - Tandem-Fehler

receiveMessage

public int receiveMessage(byte[] buffer,
                          int offset,
                          int len)
                   throws CommException,
                          TandemException
Nachricht von Client.

Parameters:
buffer - Nachrichtenpuffer
offset - Offset innerhalb des Puffers
len - Länge der Nachricht
Returns:
Länge der Daten
Throws:
CommException - Allgemeiner Kommunikationsfehler
TandemException - Tandem-Fehler

receiveMessage

public int receiveMessage(MessageElement msg)
                   throws CommException,
                          TandemException
Nachricht von Client.

Parameters:
msg - Nachricht
Returns:
Länge der Daten
Throws:
CommException - Allgemeiner Kommunikationsfehler
TandemException - Tandem-Fehler

sendAck

public void sendAck()
             throws CommException
Positive Quittung

Throws:
CommException - Allgemeiner Kommunikationsfehler

sendAck

public void sendAck(String text)
             throws CommException
Positive Quittung mit Text

Parameters:
text - Informationsnachricht
Throws:
CommException - Allgemeiner Kommunikationsfehler

sendError

protected void sendError(int error_code,
                         int subsystem,
                         int subsystem_error,
                         int extended_error,
                         int error_class,
                         String text)
                  throws CommException
Fehlerantwort

Parameters:
error_code - Fehlercode
subsystem - Subsystem
subsystem_error - Subsystem-Fehlercode
extended_error - erweiterter Fehlercode qparam error_class Fehlerklasse
text - Fehlermeldung
Throws:
CommException - Allgemeiner Kommunikationsfehler
See Also:
TandemException

sendError

public void sendError(int error_code,
                      String text)
               throws CommException
Fehlerantwort

Parameters:
error_code - Fehlercode
text - Fehlermeldung
Throws:
CommException - Allgemeiner Kommunikationsfehler

sendError

public void sendError(String text)
               throws CommException
Fehlerantwort

Parameters:
text - Fehlermeldung
Throws:
CommException - Allgemeiner Kommunikationsfehler

sendReply

public void sendReply(byte[] buffer,
                      int offset,
                      int len)
               throws CommException
Antwort an Client.

Parameters:
buffer - Antwort-Puffer
offset - Offset innerhalb des Puffers
len - Länge der Antwort
Throws:
CommException - Allgemeiner Kommunikationsfehler

sendReply

public void sendReply(MessageElement reply)
               throws CommException
Antwort an Client.

Parameters:
reply - Antwort
Throws:
CommException - Allgemeiner Kommunikationsfehler

sendReply

public void sendReply(MessageElement reply,
                      int len)
               throws CommException
Antwort an Client.

Parameters:
reply - Antwort
len - Länge der Antwort
Throws:
CommException - Allgemeiner Kommunikationsfehler

setNowait

public void setNowait(boolean nowait)
Setze den Nowaitstatus


setTransaction

public void setTransaction(boolean transaction)
Setze den Transaktionsstatus



Copyright © 2008 MvC Systemsoftware.