Beispiel #1
0
        /// <summary>
        /// Writes the continuous query.
        /// </summary>
        /// <param name="ctx">Request context.</param>
        /// <param name="continuousQuery">Query.</param>
        private void WriteContinuousQuery(ClientRequestContext ctx, ContinuousQueryClient <TK, TV> continuousQuery)
        {
            var w = ctx.Writer;

            w.WriteInt(continuousQuery.BufferSize);
            w.WriteLong((long)continuousQuery.TimeInterval.TotalMilliseconds);
            w.WriteBoolean(false); // Include expired.

            if (continuousQuery.Filter == null)
            {
                w.WriteObject <object>(null);
            }
            else
            {
                var javaFilter = continuousQuery.Filter as PlatformJavaObjectFactoryProxy;

                if (javaFilter != null)
                {
                    w.WriteObject(javaFilter.GetRawProxy());
                    w.WriteByte(FilterPlatformJava);
                }
                else
                {
                    var filterHolder = new ContinuousQueryFilterHolder(continuousQuery.Filter, _keepBinary);

                    w.WriteObject(filterHolder);
                    w.WriteByte(FilterPlatformDotnet);
                }
            }

            ctx.Socket.ExpectNotifications();
        }
Beispiel #2
0
        /// <summary>
        /// Writes the java task.
        /// </summary>
        private void WriteJavaTaskRequest(string taskName, object taskArg, ClientRequestContext ctx)
        {
            var writer = ctx.Writer;

            if (_clusterGroup != null)
            {
                var nodes = _clusterGroup.GetNodes();
                writer.WriteInt(nodes.Count);

                foreach (var node in nodes)
                {
                    writer.WriteGuid(node.Id);
                }
            }
            else
            {
                writer.WriteInt(0);
            }

            writer.WriteByte((byte)_flags);
            writer.WriteLong((long)_timeout.TotalMilliseconds);
            writer.WriteString(taskName);
            writer.WriteObject(taskArg);

            ctx.Socket.ExpectNotifications();
        }
Beispiel #3
0
 public void SetupRequestContext(ClientRequestContext requestContext)
 {
     if (!string.IsNullOrEmpty(this.AccessToken))
     {
         requestContext.RequestHeaders["Authorization"] = "Bearer " + this.AccessToken;
     }
 }
Beispiel #4
0
        /// <summary>
        /// Writes the request.
        /// </summary>
        private void WriteRequest(Action<ClientRequestContext> writeAction, ClientRequestContext ctx)
        {
            ctx.Stream.WriteInt(_id);

            if (_expiryPolicy != null)
            {
                ctx.Features.ValidateWithExpiryPolicyFlag();
                ctx.Stream.WriteByte((byte) ClientCacheRequestFlag.WithExpiryPolicy);
                ExpiryPolicySerializer.WritePolicy(ctx.Writer, _expiryPolicy);
            }
            else
                ctx.Stream.WriteByte((byte) ClientCacheRequestFlag.None); // Flags (skipStore, etc).

            if (writeAction != null)
            {
                writeAction(ctx);
            }
        }
Beispiel #5
0
        /// <summary>
        /// Writes the request.
        /// </summary>
        private void WriteRequest(Action <ClientRequestContext> writeAction, ClientRequestContext ctx)
        {
            ctx.Stream.WriteInt(_id);

            if (_expiryPolicy != null)
            {
                // Check whether WithExpiryPolicy is supported by the protocol here -
                // ctx.ProtocolVersion refers to exact connection for this request.
                ClientUtils.ValidateOp(
                    ClientCacheRequestFlag.WithExpiryPolicy, ctx.ProtocolVersion, ClientSocket.Ver150);

                ctx.Stream.WriteByte((byte)ClientCacheRequestFlag.WithExpiryPolicy);
                ExpiryPolicySerializer.WritePolicy(ctx.Writer, _expiryPolicy);
            }
            else
            {
                ctx.Stream.WriteByte((byte)ClientCacheRequestFlag.None);  // Flags (skipStore, etc).
            }
            if (writeAction != null)
            {
                writeAction(ctx);
            }
        }
Beispiel #6
0
        /// <summary>
        /// Writes the request.
        /// </summary>
        private void WriteRequest(Action <ClientRequestContext> writeAction, ClientRequestContext ctx)
        {
            ctx.Stream.WriteInt(_id);

            var flags = ClientCacheRequestFlag.None;

            if (_expiryPolicy != null)
            {
                ctx.Features.ValidateWithExpiryPolicyFlag();
                flags = flags | ClientCacheRequestFlag.WithExpiryPolicy;
            }

            var tx = _ignite.Transactions.Tx;

            if (tx != null)
            {
                flags |= ClientCacheRequestFlag.WithTransactional;
            }

            ctx.Stream.WriteByte((byte)flags);

            if ((flags & ClientCacheRequestFlag.WithExpiryPolicy) == ClientCacheRequestFlag.WithExpiryPolicy)
            {
                ExpiryPolicySerializer.WritePolicy(ctx.Writer, _expiryPolicy);
            }

            if ((flags & ClientCacheRequestFlag.WithTransactional) == ClientCacheRequestFlag.WithTransactional)
            {
                // ReSharper disable once PossibleNullReferenceException flag is set only if tx != null
                ctx.Writer.WriteInt(tx.Id);
            }

            if (writeAction != null)
            {
                writeAction(ctx);
            }
        }
Beispiel #7
0
 /// <summary>
 /// Writes the name of this data structure.
 /// </summary>
 private void WriteName(ClientRequestContext ctx)
 {
     ctx.Writer.WriteString(Name);
     ctx.Writer.WriteString(_groupName);
 }