public override async Task <IResultCursor> RunInExplicitTransactionAsync(IConnection connection, Query query, bool reactive, long fetchSize = Config.Infinite) { var summaryBuilder = new SummaryBuilder(query, connection.Server); var streamBuilder = new ResultCursorBuilder(summaryBuilder, connection.ReceiveOneAsync, RequestMore(connection, summaryBuilder, null), CancelRequest(connection, summaryBuilder, null), null, fetchSize, reactive); var runHandler = new V4.RunResponseHandler(streamBuilder, summaryBuilder); var pullMessage = default(PullMessage); var pullHandler = default(V4.PullResponseHandler); if (!reactive) { pullMessage = new PullMessage(fetchSize); pullHandler = new V4.PullResponseHandler(streamBuilder, summaryBuilder, null); } await connection.EnqueueAsync(new RunWithMetadataMessage(query), runHandler, pullMessage, pullHandler) .ConfigureAwait(false); await connection.SendAsync().ConfigureAwait(false); return(streamBuilder.CreateCursor()); }
public void MergeFrom(Task other) { if (other == null) { return; } if (other.Name.Length != 0) { Name = other.Name; } if (other.scheduleTime_ != null) { if (scheduleTime_ == null) { scheduleTime_ = new global::Google.Protobuf.WellKnownTypes.Timestamp(); } ScheduleTime.MergeFrom(other.ScheduleTime); } if (other.createTime_ != null) { if (createTime_ == null) { createTime_ = new global::Google.Protobuf.WellKnownTypes.Timestamp(); } CreateTime.MergeFrom(other.CreateTime); } if (other.status_ != null) { if (status_ == null) { status_ = new global::Google.Cloud.Tasks.V2Beta2.TaskStatus(); } Status.MergeFrom(other.Status); } if (other.View != 0) { View = other.View; } switch (other.PayloadTypeCase) { case PayloadTypeOneofCase.AppEngineHttpRequest: if (AppEngineHttpRequest == null) { AppEngineHttpRequest = new global::Google.Cloud.Tasks.V2Beta2.AppEngineHttpRequest(); } AppEngineHttpRequest.MergeFrom(other.AppEngineHttpRequest); break; case PayloadTypeOneofCase.PullMessage: if (PullMessage == null) { PullMessage = new global::Google.Cloud.Tasks.V2Beta2.PullMessage(); } PullMessage.MergeFrom(other.PullMessage); break; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); }
private bool ProcessPull(PullMessage pullMessage, IConnection connection) { if (pullMessage == null) { return(false); } //Console.WriteLine("[{0}] Processing pull message ({1}) from {2}", routingManager.Map.OwnAddress, pullMessage.Limit, connection.RemoteAddress); for (int i = 0; i < pullMessage.Limit; i++) { if (!PullPendingMessage(connection)) { break; } //Console.WriteLine("[{0}] Fast-forwarded a message to {1}", routingManager.Map.OwnAddress, connection.RemoteAddress); } return(true); }
private void OnLoginRspMessage(LoginResultMessage msg) { if (msg.Result == OkTag) { PlayerObject.Instance.Self.PlayerId = msg.PlayerId; var sendMsg = new PullMessage() { PlayerId = msg.PlayerId, }; MessageManager.SendMessage("Client.Send", sendMsg); } else if (msg.Result == ErrorTag) { MessageManager.SendMessage("Message.Login.Failed"); } }
public override async Task <IResultCursor> RunInAutoCommitTransactionAsync(IConnection connection, Query query, bool reactive, IBookmarkTracker bookmarkTracker, IResultResourceHandler resultResourceHandler, string database, Bookmark bookmark, TransactionConfig config, string impersonatedUser, long fetchSize = Config.Infinite) { var summaryBuilder = new SummaryBuilder(query, connection.Server); var streamBuilder = new ResultCursorBuilder(summaryBuilder, connection.ReceiveOneAsync, RequestMore(connection, summaryBuilder, bookmarkTracker), CancelRequest(connection, summaryBuilder, bookmarkTracker), resultResourceHandler, fetchSize, reactive); var runHandler = new V4.RunResponseHandler(streamBuilder, summaryBuilder); var pullMessage = default(PullMessage); var pullHandler = default(V4.PullResponseHandler); if (!reactive) { pullMessage = new PullMessage(fetchSize); pullHandler = new V4.PullResponseHandler(streamBuilder, summaryBuilder, bookmarkTracker); } await connection .EnqueueAsync( GetRunWithMetaDataMessage(query, bookmark, config, connection.GetEnforcedAccessMode(), database, impersonatedUser), runHandler, pullMessage, pullHandler) .ConfigureAwait(false); await connection.SendAsync().ConfigureAwait(false); return(streamBuilder.CreateCursor()); }
public override int GetHashCode() { int hash = 1; if (Name.Length != 0) { hash ^= Name.GetHashCode(); } if (payloadTypeCase_ == PayloadTypeOneofCase.AppEngineHttpRequest) { hash ^= AppEngineHttpRequest.GetHashCode(); } if (payloadTypeCase_ == PayloadTypeOneofCase.PullMessage) { hash ^= PullMessage.GetHashCode(); } if (scheduleTime_ != null) { hash ^= ScheduleTime.GetHashCode(); } if (createTime_ != null) { hash ^= CreateTime.GetHashCode(); } if (status_ != null) { hash ^= Status.GetHashCode(); } if (View != 0) { hash ^= View.GetHashCode(); } hash ^= (int)payloadTypeCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }