private void ProcessSync(SynchronizeRequest request) { if (this.SynchronizeRequested != null) { this.SynchronizeRequested(request); } }
private void connection_PacketReceive(object sender, EventArgs <ArraySegment <byte> > e) { Packet packet = new Packet(e.Value); switch (packet.PacketType) { case PacketType.Initialize: { InitializeResponse arg = new InitializeResponse(ref packet); this.thread.Enqueue(Job.Create <InitializeResponse>(new Action <InitializeResponse>(this.ProcessInitialize), arg)); return; } case PacketType.Login: { LoginResponse arg2 = new LoginResponse(ref packet); this.thread.Enqueue(Job.Create <LoginResponse>(new Action <LoginResponse>(this.ProcessLogin), arg2)); return; } case PacketType.Logout: break; case PacketType.Terminate: { TerminateRequest arg3 = new TerminateRequest(ref packet); this.thread.Enqueue(Job.Create <TerminateRequest>(new Action <TerminateRequest>(this.ProcessTerminate), arg3)); break; } case PacketType.Message: { MessageRequest arg4 = new MessageRequest(ref packet); this.thread.Enqueue(Job.Create <MessageRequest>(new Action <MessageRequest>(this.ProcessMessage), arg4)); return; } case PacketType.Synchronize: { SynchronizeRequest arg5 = new SynchronizeRequest(ref packet); this.thread.Enqueue(Job.Create <SynchronizeRequest>(new Action <SynchronizeRequest>(this.ProcessSync), arg5)); return; } default: return; } }
private void connection_SynchronizeRequested(SynchronizeRequest request) { Dictionary <long, byte> dictionary = new Dictionary <long, byte>(); Log <CafeAuthService> .Logger.InfoFormat("Processing [{0}] sync request...", request.SessionList.Count); if (request.SessionList.Count == 0) { this.Relogin(); return; } foreach (long key in request.SessionList) { if (!dictionary.ContainsKey(key)) { dictionary.Add(key, this.SessionDic.ContainsKey(key) ?(byte)1 :(byte)0); } } this.connection.SynchronizeReply(request.IsMonitering, dictionary); }
public override async Task <SynchronizeResponse> Synchronize(SynchronizeRequest request, ServerCallContext context) { this.logger.Info("Got Synchronize"); this.OnSynchronize?.Invoke(request.PublicEndpoint); var result = new SynchronizeResponse() { Timestamp = Timestamp.FromDateTime(this.globalConfigurationService.ConfigurationManager.Timestamp .ToUniversalTime()) }; if (this.globalConfigurationService.ConfigurationManager.Ftp.Host != null) { result.Ftp = this.globalConfigurationService.ConfigurationManager.Ftp.ToGrpc(); } if (this.globalConfigurationService.ConfigurationManager.Database.Connection.Host != null) { result.Database = this.globalConfigurationService.ConfigurationManager.Database.ToGrpc(); } return(await Task.FromResult(result)); }