Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
  * JBoss, Home of Professional Open Source
  * Copyright 2005, JBoss Inc., and individual contributors as indicated
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  *
  * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
 
 package org.jboss.remoting.transport.socket;
 
 import java.util.Map;
 import  org.jboss.logging.Logger;

Author(s):
Tom Elrod
 
 public class ServerSocketWrapper extends ClientSocketWrapper
 {
    final static private Logger log = Logger.getLogger(ServerSocketWrapper.class);
 
    public ServerSocketWrapper(Socket socketthrows Exception
    {
       super(socket);
    }
 
    public ServerSocketWrapper(Socket socketMap metadataInteger timeoutthrows Exception
    {
       super(socketmetadatatimeout);
    }
 
    public void close() throws IOException
    {
       if(getSocket() != null)
       {
          try
          {
             getOutputStream().write();
             getOutputStream().write();
             getOutputStream().flush();
             .trace("wrote CLOSING");
          }
          catch (IOException e)
          {
             .trace("unable to writing CLOSING byte"e);
          }
       }
       super.close();
    }
    
    public void checkConnection() throws IOException
    {
       // Perform acknowledgement to convince client
       // that the socket is still active
       int ACK = 0;
       //long startWait = System.currentTimeMillis();
       try
       {
 //         ACK = ((ObjectInputStream) getInputStream()).readByte();
          ACK = getInputStream().read();
       }
       catch(EOFException eof)
       {
          .trace("EOFException waiting on ACK in read().");
          throw eof;
       }
       catch(IOException e)
       {
          .debug("IOException when reading in ACK: " + e.getMessage());
          .trace("IOException when reading in ACK"e);
          throw e;
       }
 
       if(.isTraceEnabled())
       {
          .trace("***acknowledge read byte" + Thread.currentThread());
       }
 
 //      ObjectOutputStream out = (ObjectOutputStream) getOutputStream();
       OutputStream out = getOutputStream();
 
 //      out.writeByte(ACK);
//      out.flush();
//      out.reset();
      out.write(ACK);
      out.flush();
   }
   public String toString()
   {
      Socket socket = getSocket();
      return "ServerSocketWrapper[" + socket + "." +
         Integer.toHexString(System.identityHashCode(socket)) + "]";
   }
New to GrepCode? Check out our FAQ X