Пример #1
0
        internal ReplicationSetting Copy()
        {
            ReplicationSetting rs = new ReplicationSetting();

            rs.ConnTimeout = ConnTimeout;
            rs.NoAutoConn  = NoAutoConn;
            rs.QueueDir    = QueueDir;
            rs.RecvTimeout = RecvTimeout;
            rs.TTL         = TTL;
            return(rs);
        }
Пример #2
0
        private void CheckReplicationSetting(ReplicationSetting qms)
        {
            if (qms.TTL == 0)
            {
                qms.TTL = ReplicationSetting.DEAFULT_TTL;
            }
            if (qms.ConnTimeout == 0)
            {
                qms.ConnTimeout = CClientSocket.DEFAULT_CONN_TIMEOUT;
            }
            if (qms.RecvTimeout == 0)
            {
                qms.RecvTimeout = CClientSocket.DEFAULT_RECV_TIMEOUT;
            }
#if WINCE
#else
            if (qms.QueueDir == null)
            {
                throw new InvalidOperationException("An absolute path required for working directory");
            }
            qms.QueueDir = qms.QueueDir.Trim();
            if (qms.QueueDir.Length == 0)
            {
                throw new InvalidOperationException("An absolute path required for working directory");
            }
            if (qms.QueueDir.LastIndexOf(DIR_SEP) != qms.QueueDir.Length - 1)
            {
                throw new InvalidOperationException("An absolute path must be ended with the char " + DIR_SEP);
            }
            //make sure directories existing
            if (!System.IO.Directory.Exists(qms.QueueDir))
            {
                System.IO.Directory.CreateDirectory(qms.QueueDir);
            }
#endif
            m_rs = qms.Copy();
        }
Пример #3
0
 /// <summary>
 /// Construct a CSqlReplication instance
 /// </summary>
 /// <param name="qms">A structure for setting its underlying socket pool and message queue directory as well as password for source queue</param>
 public CReplication(ReplicationSetting qms)
 {
     CheckReplicationSetting(qms);
 }