/** <inheritDoc /> */ internal override void Write(PortableWriterImpl writer, bool keepPortable) { writer.WriteBoolean(Local); writer.WriteInt(PageSize); writer.WriteBoolean(Partition.HasValue); if (Partition.HasValue) { writer.WriteInt(Partition.Value); } if (Filter == null) { writer.WriteObject <CacheEntryFilterHolder>(null); } else { var holder = new CacheEntryFilterHolder(Filter, (key, val) => Filter.Invoke( new CacheEntry <TK, TV>((TK)key, (TV)val)), writer.Marshaller, keepPortable); writer.WriteObject(holder); writer.WriteLong(holder.Handle); } }
/** <inheritDoc /> */ internal override void Write(BinaryWriter writer, bool keepBinary) { writer.WriteBoolean(Local); writer.WriteInt(PageSize); writer.WriteBoolean(Partition.HasValue); if (Partition.HasValue) writer.WriteInt(Partition.Value); if (Filter == null) writer.WriteObject<CacheEntryFilterHolder>(null); else { var holder = new CacheEntryFilterHolder(Filter, (key, val) => Filter.Invoke( new CacheEntry<TK, TV>((TK) key, (TV) val)), writer.Marshaller, keepBinary); writer.WriteObject(holder); } }
/// <summary> /// Writes the scan query. /// </summary> private void WriteScanQuery(BinaryWriter writer, ScanQuery <TK, TV> qry) { Debug.Assert(qry != null); if (qry.Filter == null) { writer.WriteByte(BinaryUtils.HdrNull); } else { var holder = new CacheEntryFilterHolder(qry.Filter, (key, val) => qry.Filter.Invoke( new CacheEntry <TK, TV>((TK)key, (TV)val)), writer.Marshaller, _keepBinary); writer.WriteObject(holder); writer.WriteByte(FilterPlatformDotnet); } writer.WriteInt(qry.PageSize); writer.WriteInt(qry.Partition ?? -1); writer.WriteBoolean(qry.Local); }
private long CacheEntryFilterCreate(long memPtr) { return(_handleRegistry.Allocate(CacheEntryFilterHolder.CreateInstance(memPtr, _ignite))); }
private long CacheEntryFilterCreate(void *target, long memPtr) { return(SafeCall(() => _handleRegistry.Allocate(CacheEntryFilterHolder.CreateInstance(memPtr, _ignite)))); }
private long CacheEntryFilterCreate(void *target, long memPtr) { return(SafeCall(() => CacheEntryFilterHolder.CreateInstance(memPtr, _ignite).Handle)); }