public void MobileSendingCallback(object sender, EventArgs args) { var eventArg = args as Mobile.SendCommandEventArg; Session sessionId; if (!Session.TryParse(eventArg.SessionId, out sessionId)) { return; } Trader.Server.Ssl.Client client = AgentController.GetSender(sessionId); UnmanagedMemory mem = Serialization.SerializeManager.Default.Serialize(Serialization.SerializedInfo.CreateForXml(sessionId, null, eventArg.XElement)); var commandForClient = new ValueObjects.CommandForClient(mem, null, null); client.Send(commandForClient); }
public void Initialize(Session clientId,Client sender,string remoteIp) { this.ClientId = clientId; this.Sender = sender; this.RemoteIp = remoteIp; }
public void Add(long session, ReceiveAgent receiver, Client sender) { this._Container.TryAdd(session, new ClientRelation(sender, receiver)); }
public ClientRelation(Client sender, ReceiveAgent receiver) { this._Receiver = receiver; this._Sender = sender; }
private void OnServerConnectionAvailable(object sender, SecureConnectionResults args) { try { if (args.AsyncException != null) { _Log.ErrorFormat("Client connection failed {0}", args.AsyncException); return; } SslInfo sslInfo = args.SecureInfo; Session session = SessionMapping.Get(); Client client = new Client(sslInfo.SslStream, session, sslInfo.NetworkStream.BufferInUsed,sslInfo.Socket); SenderReceiverPair relation = new SenderReceiverPair(client, new ReceiveAgent()); Application.Default.AgentController.Add(session, relation.Receiver, relation.Sender); } catch (Exception ex) { _Log.Error(ex); } }
public SenderReceiverPair(Client sender, ReceiveAgent receiver) { this._Receiver = receiver; this._Sender = sender; }
public void Add(Session session, ReceiveAgent receiver, Client sender) { _ClientsProcessor.Add(session, receiver, sender); }
public bool Add(Session session, ReceiveAgent receiver,Client sender) { return _Clients.TryAdd(session, new SenderReceiverPair(sender, receiver)); }