public <E> void writeEnum(E o) { excerpt.writeEnum(o); }
@Override public void write(@NotNull Excerpt excerpt, @NotNull Class aClass) { String s = CS_SHORT_NAME.get(aClass); if (s == null) s = aClass.getName(); excerpt.writeEnum(s); }
private void writeElement(@NotNull Excerpt excerpt, E element) { if (enumClass) excerpt.writeEnum(element); else excerpt.writeObject(element); }
private void writeKey(@NotNull Excerpt excerpt, K key) { if (kEnumClass) excerpt.writeEnum(key); else excerpt.writeObject(key); }
private void writeValue(@NotNull Excerpt excerpt, V value) { if (vEnumClass) excerpt.writeEnum(value); else excerpt.writeObject(value); }
private void writeElement(@NotNull Excerpt excerpt, E element) { if (enumClass) excerpt.writeEnum(element); else excerpt.writeObject(element); }
@Override public void writeMarshallable(@NotNull Excerpt out) { out.writeEnum(instrument); out.writeStopBit(levels.size()); for (int i = 0, len = levels.size(); i < len; i++) levels.get(i).writeMarshallable(out); } }
@NotNull public Excerpt startExcerpt(int capacity, @NotNull String name) { checkStarted(); assert excerpt != null; excerpt.startExcerpt(capacity + 2 + name.length()); excerpt.writeEnum(name); return excerpt; }
@NotNull private Excerpt getExcerpt(int maxSize, @NotNull WrapperEvent event) { Excerpt excerpt = dataStore.startExcerpt(maxSize + 2 + event.name().length(), name); excerpt.writeEnum(event); return excerpt; }
@NotNull private Excerpt getExcerpt(int maxSize, @NotNull WrapperEvent event) { Excerpt excerpt = dataStore.startExcerpt(maxSize + 2 + event.name().length(), name); excerpt.writeEnum(event); return excerpt; }
@NotNull private Excerpt getExcerpt(int maxSize, @NotNull WrapperEvent event) { Excerpt excerpt = dataStore.startExcerpt(maxSize + 2 + event.name().length(), name); excerpt.writeEnum(event); return excerpt; }
@Override public void writeMarshallable(@NotNull Excerpt out) { out.writeUTF(clientOrderId); out.writeEnum(status); out.writeUTF(rejectedReason); } }
@Override public void report(@NotNull MetaData metaData, @NotNull SmallReport smallReport) { excerpt.startExcerpt(200); // a guess to be lazy. excerpt.writeEnum(MessageType.report); metaData.writeForEngine(excerpt); smallReport.writeMarshallable(excerpt); excerpt.finish(); } }
private void writeClear() { Excerpt excerpt = getExcerpt(16, clear); long eventId = excerpt.index(); excerpt.writeEnum(clear); excerpt.finish(); if (!notifyOff && !listeners.isEmpty()) { @SuppressWarnings("unchecked") Entry<K, V>[] entrySet = underlying.entrySet().toArray(new Entry[underlying.size()]); for (int i = 0; i < listeners.size(); i++) { MapListener<K, V> listener = listeners.get(i); listener.eventStart(eventId, name); for (int j = 0; j < entrySet.length; j++) { listener.remove(entrySet[j].getKey(), entrySet[j].getValue()); } listener.eventEnd(true); } } }
@Override public void small(MetaData ignored, @NotNull SmallCommand command) { excerpt.startExcerpt(200); // guess the maximum size (or calculate it) excerpt.writeEnum(MessageType.small); MetaData.writeForGateway(excerpt); command.writeMarshallable(excerpt); excerpt.finish(); } }
@Override public void onMarketData(@Nullable MetaData metaData, @NotNull Update update) { if (metaData == null) { metaData = this.metaData; metaData.startTiming(); } excerpt.startExcerpt(1024); // a guess excerpt.writeEnum(MessageType.update); metaData.writeMarshallable(excerpt); update.writeMarshallable(excerpt); excerpt.finish(); } }
private void writeSet(int index, E oldElement, E element) { Excerpt excerpt = getExcerpt(maxMessageSize, set); long eventId = excerpt.index(); excerpt.writeEnum(add); excerpt.writeInt(offset + index); writeElement(excerpt, element); excerpt.finish(); if (!notifyOff && !listeners.isEmpty()) { for (int i = 0; i < listeners.size(); i++) { ListListener<E> listener = listeners.get(i); listener.eventStart(eventId, name); listener.set(index, oldElement, element); listener.eventEnd(true); } } }
@NotNull private Excerpt getExcerpt(int maxSize, @NotNull WrapperEvent event) { Excerpt excerpt = dataStore.startExcerpt(maxSize + 2 + event.name().length(), name); excerpt.writeEnum(event); return excerpt; }
@NotNull public Excerpt startExcerpt(int capacity, @NotNull String name) { checkStarted(); assert excerpt != null; excerpt.startExcerpt(capacity + 2 + name.length()); excerpt.writeEnum(name); return excerpt; }