Initial framework migration to netty.
[bgpcep.git] / framework / src / main / java / org / opendaylight / protocol / framework / ProtocolMessageEncoder.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.protocol.framework;
9
10 import io.netty.buffer.ByteBuf;
11 import io.netty.channel.ChannelHandler.Sharable;
12 import io.netty.channel.ChannelHandlerContext;
13 import io.netty.handler.codec.MessageToByteEncoder;
14
15 @Sharable
16 final class ProtocolMessageEncoder extends MessageToByteEncoder<ProtocolMessage> {
17
18         private final ProtocolMessageFactory factory;
19
20         public ProtocolMessageEncoder(final ProtocolMessageFactory factory) {
21                 this.factory = factory;
22         }
23
24         @Override
25         protected void encode(final ChannelHandlerContext ctx, final ProtocolMessage msg, final ByteBuf out) throws Exception {
26                 out.writeBytes(this.factory.put(msg));
27         }
28 }