content: /*
   * Copyright (C) 2015 Actor LLC. <https://actor.im>
   */
  
  package im.actor.core.modules.messaging.actions.entity;
  
  import java.io.IOException;
  
  import im.actor.runtime.bser.Bser;
  import im.actor.runtime.bser.BserObject;
  import im.actor.runtime.bser.BserValues;
  import im.actor.runtime.bser.BserWriter;
  import im.actor.core.entity.Peer;
  import im.actor.core.entity.content.AbsContent;
  
  public class PendingMessage extends BserObject {
  
      public static PendingMessage fromBytes(byte[] data) throws IOException {
          return Bser.parse(new PendingMessage(), data);
      }
  
      private Peer peer;
      private long rid;
      private AbsContent content;
      private boolean isError;
  
      public PendingMessage(Peer peer, long rid, AbsContent content) {
          this.peer = peer;
          this.rid = rid;
          this.content = content;
      }
  
      private PendingMessage() {
  
      }
  
      public Peer getPeer() {
          return peer;
      }
  
      public AbsContent getContent() {
          return content;
      }
  
      public long getRid() {
          return rid;
      }
  
      public boolean isError() {
          return isError;
      }
  
      @Override
      public void parse(BserValues values) throws IOException {
          peer = Peer.fromUniqueId(values.getLong(1));
          rid = values.getLong(2);
          content = AbsContent.parse(values.getBytes(3));
          isError = values.getBool(4, false);
      }
  
      @Override
      public void serialize(BserWriter writer) throws IOException {
          writer.writeLong(1, peer.getUnuqueId());
          writer.writeLong(2, rid);
          writer.writeBytes(3, AbsContent.serialize(content));
          writer.writeBool(4, isError);
      }
  }
  