/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.rtmp.message; import io.netty.buffer.ByteBuf; import com.ttProject.rtmp.header.HeaderFactory; import com.ttProject.rtmp.header.IRtmpHeader; /** * RtmpMessage * @author taktod */ public abstract class RtmpMessage implements IRtmpMessage { private final IRtmpHeader header; /** * constructor */ public RtmpMessage() { header = HeaderFactory.getInstance().getHeader(getMessageType()); } /** * constructor * @param header * @param in * @throws Exception */ public RtmpMessage(IRtmpHeader header, ByteBuf in) throws Exception { this.header = header; setData(in); } /** * {@inheritDoc} */ @Override public IRtmpHeader getHeader() { return header; } /** * messageType definition. * @return */ protected abstract MessageType getMessageType(); }