public Session(Connection connection, SessionId sessionId, AcknowledgementMode acknowledgementMode) { this.info = new SessionInfo(); this.info.SessionId = sessionId; this.connection = connection; this.connection.Oneway(this.info); this.acknowledgementMode = acknowledgementMode; this.requestTimeout = connection.RequestTimeout; this.dispatchAsync = connection.DispatchAsync; this.transactionContext = new TransactionContext(this); Uri brokerUri = connection.BrokerUri; // Set propertieDs on session using parameters prefixed with "session." if(!String.IsNullOrEmpty(brokerUri.Query) && !brokerUri.OriginalString.EndsWith(")")) { string query = brokerUri.Query.Substring(brokerUri.Query.LastIndexOf(")") + 1); StringDictionary options = URISupport.ParseQuery(query); options = URISupport.GetProperties(options, "session."); URISupport.SetProperties(this, options); } this.ConsumerTransformer = connection.ConsumerTransformer; this.ProducerTransformer = connection.ProducerTransformer; this.executor = new SessionExecutor(this, this.consumers); if(connection.IsStarted) { this.Start(); } connection.AddSession(this); }
public SessionState(SessionInfo info) { this.info = info; }
public override Response processAddSession(SessionInfo info) { if(info != null) { ConnectionId connectionId = info.SessionId.ParentId; if(connectionId != null) { ConnectionState cs = connectionStates[connectionId]; if(cs != null) { cs.addSession(info); } } } return TRACKED_RESPONSE_MARKER; }
public virtual Response processAddSession(SessionInfo info) { return null; }
public override Response processAddSession(SessionInfo info) { if(info != null) { ConnectionId connectionId = info.SessionId.ParentId; if(connectionId != null) { ConnectionState cs = null; if(connectionStates.TryGetValue(connectionId, out cs)) { cs.addSession(info); } } } return TRACKED_RESPONSE_MARKER; }
public void addSession(SessionInfo info) { checkShutdown(); sessions.Add(info.SessionId, new SessionState(info)); }
protected void disposeOf(ITransport transport, SessionInfo session) { transport.Oneway(new RemoveInfo() { ObjectId = session.SessionId }); }
protected ProducerInfo createProducer(SessionInfo parent) { return new ProducerInfo() { ProducerId = new ProducerId() { ConnectionId = parent.SessionId.ConnectionId, SessionId = parent.SessionId.Value, Value = producerIdx++ } }; }
protected ConsumerInfo createConsumer(SessionInfo parent) { return new ConsumerInfo() { ConsumerId = new ConsumerId() { ConnectionId = parent.SessionId.ConnectionId, SessionId = parent.SessionId.Value, Value = consumerIdx++ } }; }