All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opendaylight.protocol.bgp.flowspec.handlers.FSIpv4FragmentHandler Maven / Gradle / Ivy

There is a newer version: 0.22.6
Show newest version
/*
 * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
 * and is available at http://www.eclipse.org/legal/epl-v10.html
 */
package org.opendaylight.protocol.bgp.flowspec.handlers;

import org.opendaylight.protocol.util.BitArray;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev200120.Fragment;

public class FSIpv4FragmentHandler extends AbstractFSFragmentHandler {

    @Override
    protected final Fragment parseFragment(final byte fragment) {
        final BitArray bs = BitArray.valueOf(fragment);
        return new Fragment(bs.get(DONT_FRAGMENT), bs.get(FIRST_FRAGMENT), bs.get(IS_A_FRAGMENT),
            bs.get(LAST_FRAGMENT));
    }

    @Override
    protected final byte serializeFragment(final Fragment fragment) {
        final BitArray bs = new BitArray(Byte.SIZE);
        bs.set(DONT_FRAGMENT, fragment.getDoNot());
        bs.set(FIRST_FRAGMENT, fragment.getFirst());
        bs.set(IS_A_FRAGMENT, fragment.getIsA());
        bs.set(LAST_FRAGMENT, fragment.getLast());
        return bs.toByte();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy