*/
package org.opendaylight.protocol.pcep.spi.pojo;
+import com.google.common.base.Preconditions;
+
import io.netty.buffer.ByteBuf;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Preconditions;
-
public final class SimpleMessageRegistry implements MessageRegistry {
- private static final Logger LOG = LoggerFactory.getLogger(SimpleMessageRegistry.class);
-
- private final HandlerRegistry<DataContainer, MessageParser, MessageSerializer> handlers = new HandlerRegistry<>();
-
- public AutoCloseable registerMessageParser(final int messageType, final MessageParser parser) {
- Preconditions.checkArgument(messageType >= 0 && messageType <= Values.UNSIGNED_BYTE_MAX_VALUE);
- return this.handlers.registerParser(messageType, parser);
- }
-
- public AutoCloseable registerMessageSerializer(final Class<? extends Message> msgClass, final MessageSerializer serializer) {
- return this.handlers.registerSerializer(msgClass, serializer);
- }
-
- @Override
- public Message parseMessage(final int messageType, final ByteBuf buffer, final List<Message> errors) throws PCEPDeserializerException {
- Preconditions.checkArgument(messageType >= 0 && messageType <= Values.UNSIGNED_BYTE_MAX_VALUE);
- final MessageParser parser = this.handlers.getParser(messageType);
- if (parser == null) {
- LOG.warn("PCEP parser for message type {} is not registered.", messageType);
- return null;
- }
- return parser.parseMessage(buffer, errors);
- }
-
- @Override
- public void serializeMessage(Message message, ByteBuf buffer) {
- final MessageSerializer serializer = this.handlers.getSerializer(message.getImplementedInterface());
- if (serializer == null) {
- LOG.warn("PCEP serializer for message type {} is not registered.", message.getClass());
- return;
- }
- serializer.serializeMessage(message, buffer);
- }
+ private static final Logger LOG = LoggerFactory.getLogger(SimpleMessageRegistry.class);
+
+ private final HandlerRegistry<DataContainer, MessageParser, MessageSerializer> handlers = new HandlerRegistry<>();
+
+ public AutoCloseable registerMessageParser(final int messageType, final MessageParser parser) {
+ Preconditions.checkArgument(messageType >= 0 && messageType <= Values.UNSIGNED_BYTE_MAX_VALUE);
+ return this.handlers.registerParser(messageType, parser);
+ }
+
+ public AutoCloseable registerMessageSerializer(final Class<? extends Message> msgClass, final MessageSerializer serializer) {
+ return this.handlers.registerSerializer(msgClass, serializer);
+ }
+
+ @Override
+ public Message parseMessage(final int messageType, final ByteBuf buffer, final List<Message> errors) throws PCEPDeserializerException {
+ Preconditions.checkArgument(messageType >= 0 && messageType <= Values.UNSIGNED_BYTE_MAX_VALUE);
+ final MessageParser parser = this.handlers.getParser(messageType);
+ if (parser == null) {
+ LOG.warn("PCEP parser for message type {} is not registered.", messageType);
+ return null;
+ }
+ return parser.parseMessage(buffer, errors);
+ }
+
+ @Override
+ public void serializeMessage(Message message, ByteBuf buffer) {
+ final MessageSerializer serializer = this.handlers.getSerializer(message.getImplementedInterface());
+ if (serializer == null) {
+ LOG.warn("PCEP serializer for message type {} is not registered.", message.getClass());
+ return;
+ }
+ serializer.serializeMessage(message, buffer);
+ }
}