Java ByteBuffer Put putVarint(ByteBuffer buffer, long number, int byteSize)

Here you can find the source of putVarint(ByteBuffer buffer, long number, int byteSize)

Description

put Varint

License

Open Source License

Declaration

public static void putVarint(ByteBuffer buffer, long number, int byteSize) 

Method Source Code

//package com.java2s;
/*/*from   ww w. j  a  v a  2 s .c o m*/
 * Copyright 2006 - 2016
 *     Stefan Balev     <stefan.balev@graphstream-project.org>
 *     Julien Baudry    <julien.baudry@graphstream-project.org>
 *     Antoine Dutot    <antoine.dutot@graphstream-project.org>
 *     Yoann Pign?      <yoann.pigne@graphstream-project.org>
 *     Guilhelm Savin   <guilhelm.savin@graphstream-project.org>
 *
 * This file is part of GraphStream <http://graphstream-project.org>.
 *
 * GraphStream is a library whose purpose is to handle static or dynamic
 * graph, create them from scratch, file or any source and display them.
 *
 * This program is free software distributed under the terms of two licenses, the
 * CeCILL-C license that fits European law, and the GNU Lesser General Public
 * License. You can  use, modify and/ or redistribute the software under the terms
 * of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
 * URL <http://www.cecill.info> or under the terms of the GNU LGPL as published by
 * the Free Software Foundation, either version 3 of the License, or (at your
 * option) any later version.
 *
 * This program 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 program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * The fact that you are presently decodeing this means that you have had
 * knowledge of the CeCILL-C and LGPL licenses and that you accept their terms.
 */

import java.nio.ByteBuffer;

public class Main {
    public static void putVarint(ByteBuffer buffer, long number, int byteSize) {
        for (int i = 0; i < byteSize; i++) {
            int head = 128;
            if (i == byteSize - 1)
                head = 0;
            long b = ((number >> (7 * i)) & 127) ^ head;
            buffer.put((byte) (b & 255));
        }
    }
}

Related

  1. putUnsignedByte(ByteBuffer bb, int value)
  2. putUnsignedInt(ByteBuffer buffer, long value)
  3. putUnsignedInt(final ByteBuffer dst, final long value)
  4. putUnsignedShort(ByteBuffer bytes, int value)
  5. putUUID(ByteBuffer bytes, UUID uuid)
  6. putVInt(ByteBuffer b, int i)
  7. putWhatFits(ByteBuffer dest, ByteBuffer src)
  8. putWithChecksum(ByteBuffer buffer, int value, Adler32 checksum)
  9. read(InputStream is, ByteBuffer buf, int bytes)