Committed by
Gerrit Code Review
[ONOS-2596] BGP message decode
Change-Id: I8b458b33bffd552347e379f28084fc7449af0bcf
Showing
1 changed file
with
11 additions
and
4 deletions
| ... | @@ -24,6 +24,9 @@ import org.jboss.netty.channel.ChannelHandlerContext; | ... | @@ -24,6 +24,9 @@ import org.jboss.netty.channel.ChannelHandlerContext; |
| 24 | import org.jboss.netty.handler.codec.frame.FrameDecoder; | 24 | import org.jboss.netty.handler.codec.frame.FrameDecoder; |
| 25 | import org.onosproject.bgpio.protocol.BGPMessage; | 25 | import org.onosproject.bgpio.protocol.BGPMessage; |
| 26 | import org.onlab.util.HexDump; | 26 | import org.onlab.util.HexDump; |
| 27 | +import org.onosproject.bgpio.protocol.BGPFactories; | ||
| 28 | +import org.onosproject.bgpio.protocol.BGPMessageReader; | ||
| 29 | +import org.onosproject.bgpio.types.BGPHeader; | ||
| 27 | import org.slf4j.Logger; | 30 | import org.slf4j.Logger; |
| 28 | import org.slf4j.LoggerFactory; | 31 | import org.slf4j.LoggerFactory; |
| 29 | 32 | ||
| ... | @@ -36,9 +39,6 @@ public class BGPMessageDecoder extends FrameDecoder { | ... | @@ -36,9 +39,6 @@ public class BGPMessageDecoder extends FrameDecoder { |
| 36 | 39 | ||
| 37 | @Override | 40 | @Override |
| 38 | protected Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer) throws Exception { | 41 | protected Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer) throws Exception { |
| 39 | - | ||
| 40 | - List<BGPMessage> msgList = new LinkedList<BGPMessage>(); | ||
| 41 | - | ||
| 42 | log.debug("MESSAGE IS RECEIVED."); | 42 | log.debug("MESSAGE IS RECEIVED."); |
| 43 | if (!channel.isConnected()) { | 43 | if (!channel.isConnected()) { |
| 44 | log.info("Channel is not connected."); | 44 | log.info("Channel is not connected."); |
| ... | @@ -47,7 +47,14 @@ public class BGPMessageDecoder extends FrameDecoder { | ... | @@ -47,7 +47,14 @@ public class BGPMessageDecoder extends FrameDecoder { |
| 47 | 47 | ||
| 48 | HexDump.dump(buffer); | 48 | HexDump.dump(buffer); |
| 49 | 49 | ||
| 50 | - // TODO: decode bgp messages | 50 | + BGPMessageReader<BGPMessage> reader = BGPFactories.getGenericReader(); |
| 51 | + List<BGPMessage> msgList = new LinkedList<BGPMessage>(); | ||
| 52 | + | ||
| 53 | + while (buffer.readableBytes() > 0) { | ||
| 54 | + BGPHeader bgpHeader = new BGPHeader(); | ||
| 55 | + BGPMessage message = reader.readFrom(buffer, bgpHeader); | ||
| 56 | + msgList.add(message); | ||
| 57 | + } | ||
| 51 | return msgList; | 58 | return msgList; |
| 52 | } | 59 | } |
| 53 | } | 60 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment