Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  Licensed to the Apache Software Foundation (ASF) under one or more
   *  contributor license agreements.  See the NOTICE file distributed with
   *  this work for additional information regarding copyright ownership.
   *  The ASF licenses this file to You under the Apache License, Version 2.0
   *  (the "License"); you may not use this file except in compliance with
   *  the License.  You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
 
 package org.apache.coyote.memory;
 
 
Abstract the protocol implementation, including threading, etc. Processor is single threaded and specific to stream-based protocols, will not fit Jk protocols like JNI.

Author(s):
Remy Maucherat
 
 public class MemoryProtocolHandler
     implements ProtocolHandler {
 
 
     // ------------------------------------------------------------- Properties
 

    
Pass config info.
 
     public void setAttribute(String nameObject value) {
     }
 
     public Object getAttribute(String name) {
         return null;
     }
 
     public Iterator getAttributeNames() { return null ; }
    
Associated adapter.
 
     protected Adapter adapter = null;

    
The adapter, used to call the connector.
 
     public void setAdapter(Adapter adapter) {
         this. = adapter;
     }
 
     public Adapter getAdapter() {
         return ();
     }
 
 
     public boolean hasIoEvents() {
         return false;
     }
 
     public RequestGroupInfo getRequestGroupInfo() {
         return null;
     }
 
 
     // ------------------------------------------------ ProtocolHandler Methods
 

    
Init the protocol.
 
     public void init()
         throws Exception {
     }


    
Start the protocol.
 
     public void start()
         throws Exception {
    }
    public void pause() 
        throws Exception {
    }
    public void resume() 
        throws Exception {
    }
    public void destroy()
        throws Exception {
    }
    // --------------------------------------------------------- Public Methods


    
Process specified request.
    public void process(Request requestByteChunk input,
                        Response responseByteChunk output)
        throws Exception {
        InputBuffer inputBuffer = new ByteChunkInputBuffer(input);
        OutputBuffer outputBuffer = new ByteChunkOutputBuffer(output);
        request.setInputBuffer(inputBuffer);
        response.setOutputBuffer(outputBuffer);
        .service(requestresponse);
    }
    // --------------------------------------------- ByteChunkInputBuffer Class
    protected class ByteChunkInputBuffer
        implements InputBuffer {
        protected ByteChunk input = null;
        public ByteChunkInputBuffer(ByteChunk input) {
            this. = input;
        }
        public int doRead(ByteChunk chunkRequest request
            throws IOException {
            return .substract(chunk);
        }
    }
    // -------------------------------------------- ByteChunkOuptutBuffer Class
    protected class ByteChunkOutputBuffer
        implements OutputBuffer {
        protected ByteChunk output = null;
        public ByteChunkOutputBuffer(ByteChunk output) {
            this. = output;
        }
        public int doWrite(ByteChunk chunkResponse response
            throws IOException {
            .append(chunk);
            return chunk.getLength();
        }
    }
New to GrepCode? Check out our FAQ X