You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2014/03/01 07:49:34 UTC
svn commit: r1573127 -
/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/kerberos/protocol/codec/KerberosEncoder.java
Author: kayyagari
Date: Sat Mar 1 06:49:33 2014
New Revision: 1573127
URL: http://svn.apache.org/r1573127
Log:
avoid copying the buffer
Modified:
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/kerberos/protocol/codec/KerberosEncoder.java
Modified: directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/kerberos/protocol/codec/KerberosEncoder.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/kerberos/protocol/codec/KerberosEncoder.java?rev=1573127&r1=1573126&r2=1573127&view=diff
==============================================================================
--- directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/kerberos/protocol/codec/KerberosEncoder.java (original)
+++ directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/kerberos/protocol/codec/KerberosEncoder.java Sat Mar 1 06:49:33 2014
@@ -34,30 +34,31 @@ public class KerberosEncoder
{
public static ByteBuffer encode( AbstractAsn1Object asn1Obj, boolean isTcp ) throws IOException
{
- ByteBuffer response = null;
ByteBuffer kerberosMessage = null;
int responseLength = asn1Obj.computeLength();
- kerberosMessage = ByteBuffer.allocate( responseLength );
+
+ int bufferLen = responseLength;
+
+ if ( isTcp )
+ {
+ bufferLen += 4;
+ }
+
+ kerberosMessage = ByteBuffer.allocate( bufferLen );
+ if( isTcp )
+ {
+ kerberosMessage.putInt( responseLength );
+ }
+
try
{
asn1Obj.encode( kerberosMessage );
- if ( isTcp )
- {
- response = ByteBuffer.allocate( responseLength + 4 );
- response.putInt( responseLength );
- response.put( kerberosMessage.array() );
- }
- else
- {
- response = kerberosMessage;
- }
-
- response.flip();
+ kerberosMessage.flip();
- return response;
+ return kerberosMessage;
}
catch ( EncoderException e )
{