Example #1
0
        /** <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));
        }
Example #2
0
        /// <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));
        }
Example #3
0
        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);
        }
Example #4
0
        /// <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();
        }
Example #5
0
        /// <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);
        }
Example #6
0
        /** <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);
        }
Example #7
0
        /// <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;
            }
        }
Example #8
0
        /// <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;
        }