Пример #1
0
        /// <summary>
        /// Perform synchronous out operation returning value.
        /// </summary>
        /// <param name="type">Operation type.</param>
        /// <param name="action">Action.</param>
        /// <returns>Native projection.</returns>
        private IUnmanagedTarget DoProjetionOutOp(int type, Action <BinaryWriter> action)
        {
            using (var stream = IgniteManager.Memory.Allocate().GetStream())
            {
                var writer = Marshaller.StartMarshal(stream);

                action(writer);

                FinishMarshal(writer);

                return(UU.ProjectionOutOpRet(Target, type, stream.SynchronizeOutput()));
            }
        }