Esempio n. 1
0
        /// <summary>
        /// Reads object
        /// </summary>
        /// <param name="abstractHessianInput">Instance of AbstractHessianInput</param>
        /// <returns>Object that was read</returns>
        public override object ReadObject(AbstractHessianInput abstractHessianInput)
        {
            int intCode = abstractHessianInput.ReadListStart();

            switch (intCode)
            {
            case CHessianProtocolConstants.PROT_NULL:
                return(null);

            case CHessianProtocolConstants.PROT_REF_TYPE:
                return(abstractHessianInput.ReadRef());
            }
            int intLength = abstractHessianInput.ReadLength();

            return(ReadList(abstractHessianInput, intLength));
        }
Esempio n. 2
0
        /// <summary>
        /// Reads objects as list
        /// <see cref="ReadList(AbstractHessianInput,int)"/>
        /// </summary>
        /// <param name="abstractHessianInput">HessianInput - Instance</param>
        /// <returns>List instance</returns>
        public override object ReadObject(AbstractHessianInput abstractHessianInput)
        {
            int intCode = abstractHessianInput.ReadListStart();

            switch (intCode)
            {
            case CHessianInput.PROT_NULL:
                return(null);

            case CHessianInput.PROT_REF_TYPE:
                return(abstractHessianInput.ReadRef());
            }
            String strType   = abstractHessianInput.ReadType();
            int    intLength = abstractHessianInput.ReadLength();

            return(ReadList(abstractHessianInput, intLength));
        }
Esempio n. 3
0
        /// <summary>
        /// Reads map from input
        /// </summary>
        /// <param name="abstractHessianInput">Input stream</param>
        /// <returns>Read map or null</returns>
        public override object ReadObject(AbstractHessianInput abstractHessianInput)
        {
            //Read map start
            int code = abstractHessianInput.ReadMapStart();

            switch (code)
            {
            case CHessianProtocolConstants.PROT_NULL:
                return(null);

            case CHessianProtocolConstants.PROT_REF_TYPE:
                return(abstractHessianInput.ReadRef());

            case 'r':
                throw new CHessianException("remote type is not implemented!");
            }
            return(ReadMap(abstractHessianInput));
        }