public void MethodReceived(AMQStateManager stateManager, AMQMethodEvent evt) { _logger.Debug("ConnectionTune frame received"); ConnectionTuneBody frame = (ConnectionTuneBody) evt.Method; AMQProtocolSession session = evt.ProtocolSession; ConnectionTuneParameters parameters = session.ConnectionTuneParameters; if (parameters == null) { parameters = new ConnectionTuneParameters(); } _logger.Debug(String.Format("ConnectionTune.heartbeat = {0}.", frame.Heartbeat)); parameters.FrameMax = frame.FrameMax; parameters.Heartbeat = frame.Heartbeat; session.ConnectionTuneParameters = parameters; stateManager.ChangeState(AMQState.CONNECTION_NOT_OPENED); session.WriteFrame(ConnectionTuneOkBody.CreateAMQFrame( evt.ChannelId, frame.ChannelMax, frame.FrameMax, frame.Heartbeat)); session.WriteFrame(ConnectionOpenBody.CreateAMQFrame( evt.ChannelId, session.AMQConnection.VirtualHost, null, true)); if (frame.Heartbeat > 0) { evt.ProtocolSession.AMQConnection.StartHeartBeatThread(frame.Heartbeat); } }
public void MethodReceived(AMQStateManager stateManager, AMQMethodEvent evt) { _logger.Debug("ConnectionTune frame received"); ConnectionTuneBody frame = (ConnectionTuneBody)evt.Method; AMQProtocolSession session = evt.ProtocolSession; ConnectionTuneParameters parameters = session.ConnectionTuneParameters; if (parameters == null) { parameters = new ConnectionTuneParameters(); } _logger.Debug(String.Format("ConnectionTune.heartbeat = {0}.", frame.Heartbeat)); parameters.FrameMax = frame.FrameMax; parameters.Heartbeat = frame.Heartbeat; session.ConnectionTuneParameters = parameters; stateManager.ChangeState(AMQState.CONNECTION_NOT_OPENED); session.WriteFrame(ConnectionTuneOkBody.CreateAMQFrame( evt.ChannelId, frame.ChannelMax, frame.FrameMax, frame.Heartbeat)); session.WriteFrame(ConnectionOpenBody.CreateAMQFrame( evt.ChannelId, session.AMQConnection.VirtualHost, null, true)); if (frame.Heartbeat > 0) { evt.ProtocolSession.AMQConnection.StartHeartBeatThread(frame.Heartbeat); } }