public ConnectionBase(ConnectionFactory factory,
bool insist,
IFrameHandler frameHandler)
{
m_factory = factory;
m_frameHandler = frameHandler;
m_sessionManager = new SessionManager(this, 0);
m_session0 = new MainSession(this);
m_session0.Handler = new MainSession.SessionCloseDelegate(NotifyReceivedCloseOk);
m_model0 = (ModelBase)Protocol.CreateModel(m_session0);
StartMainLoop(factory.UseBackgroundThreadsForIO);
Open(insist);
StartHeartbeatLoops(factory.UseBackgroundThreadsForIO);
AppDomain.CurrentDomain.DomainUnload += HandleDomainUnload;
}