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.commons.net.telnet;

Implements the telnet window size option RFC 1073.

Author(s):
Yuval Kashtan
Version:
$Id: WindowSizeOptionHandler.java 1299238 2012-03-10 17:12:28Z sebb $
Since:
2.0
 
 {
    
Horizontal Size
 
     private int m_nWidth = 80;

    
Vertical Size
 
     private int m_nHeight = 24;

    
Window size option
 
     protected static final int WINDOW_SIZE = 31;

    
Constructor for the WindowSizeOptionHandler. Allows defining desired initial setting for local/remote activation of this option and behaviour in case a local/remote activation request for this option is received.

Parameters:
nWidth - Window width.
nHeight - Window Height
initlocal - if set to true, a WILL is sent upon connection.
initremote - if set to true, a DO is sent upon connection.
acceptlocal - if set to true, any DO request is accepted.
acceptremote - if set to true, any WILL request is accepted.
 
     public WindowSizeOptionHandler(
         int nWidth,
         int nHeight,
         boolean initlocal,
         boolean initremote,
         boolean acceptlocal,
         boolean acceptremote
     ) {
         super (
             .,
             initlocal,
             initremote,
             acceptlocal,
             acceptremote
         );
 
          = nWidth;
          = nHeight;
     }

    
Constructor for the WindowSizeOptionHandler. Initial and accept behaviour flags are set to false

Parameters:
nWidth - Window width.
nHeight - Window Height
 
     public WindowSizeOptionHandler(
         int nWidth,
         int nHeight
     ) {
         super (
             .,
             false,
             false,
             false,
             false
         );
 
          = nWidth;
          = nHeight;
     }

    
Implements the abstract method of TelnetOptionHandler.

Parameters:
suboptionData - the sequence received, whithout IAC SB & IAC SE
suboptionLength - the length of data in suboption_data

Returns:
terminal type information
    @Override
    public int[] answerSubnegotiation(int suboptionData[], int suboptionLength)
    {
        return null;
    }

    
Implements the abstract method of TelnetOptionHandler. This will send the client Height and Width to the server.

Returns:
array to send to remote system
    @Override
    public int[] startSubnegotiationLocal()
    {
        int nCompoundWindowSize =  * 0x10000 + ;
        int nResponseSize = 5;
        int nIndex;
        int nShift;
        int nTurnedOnBits;
        if (( % 0x100) == 0xFF) {
            nResponseSize += 1;
        }
        if (( / 0x100) == 0xFF) {
            nResponseSize += 1;
        }
        if (( % 0x100) == 0xFF) {
            nResponseSize += 1;
        }
        if (( / 0x100) == 0xFF) {
            nResponseSize += 1;
        }
        //
        // allocate response array
        //
        int response[] = new int[nResponseSize];
        //
        // Build response array.
        // ---------------------
        // 1. put option name.
        // 2. loop through Window size and fill the values,
        // 3.    duplicate 'ff' if needed.
        //
        response[0] = ;                          // 1 //
        for (                                               // 2 //
            nIndex=1, nShift = 24;
            nIndex < nResponseSize;
            nIndex++, nShift -=8
        ) {
            nTurnedOnBits = 0xFF;
            nTurnedOnBits <<= nShift;
            response[nIndex] = (nCompoundWindowSize & nTurnedOnBits) >>> nShift;
            if (response[nIndex] == 0xff) {                 // 3 //
                nIndex++;
                response[nIndex] = 0xff;
            }
        }
        return response;
    }

    
Implements the abstract method of TelnetOptionHandler.

Returns:
always null (no response to subnegotiation)
    @Override
    public int[] startSubnegotiationRemote()
    {
        return null;
    }
New to GrepCode? Check out our FAQ X