@@ -0,0 +1,1497 @@
+package galileo.event;%0A%0Aimport java.io.IOException;%0A%0Aimport galileo.serialization.SerializationInputStream;%0Aimport galileo.serialization.SerializationOutputStream;%0A%0A/**%0A * Encapsulates a raw (byte%5B%5D based) event that includes a String representing%0A * the event synopsis.  This can be used to essentially 'tag' particular blobs%0A * of data without writing specific events.%0A *%0A * @author malensek%0A */%0Apublic class EventWithSynopsis implements Event %7B%0A%0A    private String synopsis;%0A    private byte%5B%5D data;%0A    private boolean compress = false;%0A%0A    public EventWithSynopsis(String synopsis, byte%5B%5D data) %7B%0A        this.synopsis = synopsis;%0A        this.data = data;%0A    %7D%0A%0A    /**%0A     * Enables compression when serializing this event.  When deserializing,%0A     * this setting has no effect.%0A     */%0A    public void enableCompression() %7B%0A        this.compress = true;%0A    %7D%0A%0A    /**%0A     * Disables compression when serializing this event.  This is the default%0A     * behavior.  When deserializing, this setting has no effect.%0A     */%0A    public void disableCompression() %7B%0A        this.compress = false;%0A    %7D%0A%0A    @Deserialize%0A    public EventWithSynopsis(SerializationInputStream in)%0A    throws IOException %7B%0A        this.synopsis = in.readString();%0A        this.data = in.readCompressableField();%0A    %7D%0A%0A    @Override%0A    public void serialize(SerializationOutputStream out)%0A    throws IOException %7B%0A        out.writeString(synopsis);%0A        out.writeCompressableField(data, compress);%0A    %7D%0A%7D%0A

Add event with String-based synopsis