/* * Copyright 2015 Christian Basler * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ch.dissem.bitmessage.entity; import ch.dissem.bitmessage.entity.payload.Msg; import ch.dissem.bitmessage.entity.payload.Pubkey.Feature; import ch.dissem.bitmessage.entity.valueobject.InventoryVector; import ch.dissem.bitmessage.entity.valueobject.Label; import ch.dissem.bitmessage.exception.ApplicationException; import ch.dissem.bitmessage.factory.Factory; import ch.dissem.bitmessage.utils.*; import java.io.*; import java.nio.ByteBuffer; import java.util.*; import java.util.Collections; import static ch.dissem.bitmessage.utils.Singleton.cryptography; /** * The unencrypted message to be sent by 'msg' or 'broadcast'. */ public class Plaintext implements Streamable { private static final long serialVersionUID = -5325729856394951079L; private final Type type; private final BitmessageAddress from; private final long encoding; private final byte[] message; private final byte[] ackData; private ObjectMessage ackMessage; private Object id; private InventoryVector inventoryVector; private BitmessageAddress to; private byte[] signature; private Status status; private Long sent; private Long received; private Set