/** <inheritdoc /> */ protected override ICacheEntry <TK, TV> Read(PortableReaderImpl reader) { TK key = reader.ReadObject <TK>(); TV val = reader.ReadObject <TV>(); return(new CacheEntry <TK, TV>(key, val)); }
/// <summary> /// Read event. /// </summary> /// <param name="reader">Reader.</param> /// <returns>Event.</returns> private static ICacheEntryEvent <TK, TV> ReadEvent0 <TK, TV>(PortableReaderImpl reader) { reader.DetachNext(); TK key = reader.ReadObject <TK>(); reader.DetachNext(); TV oldVal = reader.ReadObject <TV>(); reader.DetachNext(); TV val = reader.ReadObject <TV>(); return(CreateEvent(key, oldVal, val)); }
public void CompleteWithError(long taskHandle, PlatformMemoryStream stream) { PortableReaderImpl reader = _compute.Marshaller.StartUnmarshal(stream); Exception err; try { if (reader.ReadBoolean()) { PortableResultWrapper res = reader.ReadObject <PortableUserObject>() .Deserialize <PortableResultWrapper>(); err = (Exception)res.Result; } else { err = ExceptionUtils.GetException(reader.ReadString(), reader.ReadString()); } } catch (Exception e) { err = new IgniteException("Task completed with error, but it cannot be unmarshalled: " + e.Message, e); } CompleteWithError(taskHandle, err); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceDescriptor" /> class. /// </summary> /// <param name="name">Name.</param> /// <param name="reader">Reader.</param> /// <param name="services">Services.</param> public ServiceDescriptor(string name, PortableReaderImpl reader, IServices services) { Debug.Assert(reader != null); Debug.Assert(services != null); Debug.Assert(!string.IsNullOrEmpty(name)); _services = services; Name = name; CacheName = reader.ReadString(); MaxPerNodeCount = reader.ReadInt(); TotalCount = reader.ReadInt(); OriginNodeId = reader.ReadGuid() ?? Guid.Empty; AffinityKey = reader.ReadObject <object>(); var mapSize = reader.ReadInt(); var snap = new Dictionary <Guid, int>(mapSize); for (var i = 0; i < mapSize; i++) { snap[reader.ReadGuid() ?? Guid.Empty] = reader.ReadInt(); } TopologySnapshot = snap.AsReadOnly(); }
/// <summary> /// Read dictionary returned by GET_ALL operation. /// </summary> /// <param name="reader">Reader.</param> /// <returns>Dictionary.</returns> private static IDictionary <TK, TV> ReadGetAllDictionary(PortableReaderImpl reader) { IPortableStream stream = reader.Stream; if (stream.ReadBool()) { int size = stream.ReadInt(); IDictionary <TK, TV> res = new Dictionary <TK, TV>(size); for (int i = 0; i < size; i++) { TK key = reader.ReadObject <TK>(); TV val = reader.ReadObject <TV>(); res[key] = val; } return(res); } return(null); }
/** <inheritdoc /> */ protected override IList Read(PortableReaderImpl reader) { int cnt = reader.ReadInt(); var res = new ArrayList(cnt); for (int i = 0; i < cnt; i++) { res.Add(reader.ReadObject <object>()); } return(res); }
/// <summary> /// Prepare callback invoked from Java. /// </summary> /// <param name="inStream">Intput stream with data.</param> /// <param name="outStream">Output stream.</param> /// <param name="handleRegistry">Handle registry.</param> internal static void OnPrepare(PlatformMemoryStream inStream, PlatformMemoryStream outStream, HandleRegistry handleRegistry) { try { PortableReaderImpl reader = PU.Marshaller.StartUnmarshal(inStream); PrepareConfiguration(reader.ReadObject <InteropDotNetConfiguration>()); PrepareLifecycleBeans(reader, outStream, handleRegistry); } catch (Exception e) { _startup.Error = e; throw; } }
/// <summary> /// Reads nullable list. /// </summary> /// <param name="reader">Reader.</param> /// <returns>List.</returns> private static List <object> ReadNullableList(PortableReaderImpl reader) { if (!reader.ReadBoolean()) { return(null); } var size = reader.ReadInt(); var list = new List <object>(size); for (int i = 0; i < size; i++) { list.Add(reader.ReadObject <object>()); } return(list); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceDescriptor" /> class. /// </summary> /// <param name="name">Name.</param> /// <param name="reader">Reader.</param> /// <param name="services">Services.</param> public ServiceDescriptor(string name, PortableReaderImpl reader, IServices services) { Debug.Assert(reader != null); Debug.Assert(services != null); Debug.Assert(!string.IsNullOrEmpty(name)); _services = services; Name = name; CacheName = reader.ReadString(); MaxPerNodeCount = reader.ReadInt(); TotalCount = reader.ReadInt(); OriginNodeId = reader.ReadGuid() ?? Guid.Empty; AffinityKey = reader.ReadObject<object>(); var mapSize = reader.ReadInt(); var snap = new Dictionary<Guid, int>(mapSize); for (var i = 0; i < mapSize; i++) snap[reader.ReadGuid() ?? Guid.Empty] = reader.ReadInt(); TopologySnapshot = snap.AsReadOnly(); }
/// <summary> /// Reads nullable list. /// </summary> /// <param name="reader">Reader.</param> /// <returns>List.</returns> private static List<object> ReadNullableList(PortableReaderImpl reader) { if (!reader.ReadBoolean()) return null; var size = reader.ReadInt(); var list = new List<object>(size); for (int i = 0; i < size; i++) list.Add(reader.ReadObject<object>()); return list; }