private Object readResolve() { return EmptyBsonContext.getInstance(); } }
public KillCursorsMessage( @Nonnull RequestBaseMessage requestBaseMessage, int numberOfCursors, @Nonnull long[] cursorIds ) { super(requestBaseMessage, EmptyBsonContext.getInstance()); this.numberOfCursors = numberOfCursors; this.cursorIds = Arrays.copyOf(cursorIds, cursorIds.length); }
public GetMoreMessage( @Nonnull RequestBaseMessage requestBaseMessage, @Nonnull String database, @Nonnull String collection, int numberToReturn, long cursorId ) { super(requestBaseMessage, EmptyBsonContext.getInstance()); this.database = database; this.collection = collection; this.numberToReturn = numberToReturn; this.cursorId = cursorId; }
public void replyMessage(long cursorId, int startingFrom, @Nonnull BsonDocument document) { replyMessageNoFlags(EmptyBsonContext.getInstance(), startingFrom, startingFrom, IterableDocumentProvider.of(Collections.singleton(document))); }
public void replyMessageNoCursor(Iterable<BsonDocument> documents) { replyMessageNoFlags( EmptyBsonContext.getInstance(), 0, 0, IterableDocumentProvider.of(documents)); } }
@Override public UpdateMessage decode(ByteBuf buffer, RequestBaseMessage requestBaseMessage) throws InvalidNamespaceException, InvalidBsonException { try { buffer.skipBytes(4); String fullCollectionName = stringReader.readCString(buffer, true); int flags = buffer.readInt(); BsonDocument selector = docReader.readDocument(HEAP, buffer); BsonDocument update = docReader.readDocument(HEAP, buffer); //TODO: improve the way database and cache are pooled return new UpdateMessage( requestBaseMessage, EmptyBsonContext.getInstance(), getDatabase(fullCollectionName).intern(), getCollection(fullCollectionName).intern(), selector, update, EnumInt32FlagsUtil.isActive(Flag.UPSERT, flags), EnumInt32FlagsUtil.isActive(Flag.MULTI_UPDATE, flags) ); } catch (NettyBsonReaderException ex) { throw new InvalidBsonException(ex); } }