internal ReplicationSetting Copy() { ReplicationSetting rs = new ReplicationSetting(); rs.ConnTimeout = ConnTimeout; rs.NoAutoConn = NoAutoConn; rs.QueueDir = QueueDir; rs.RecvTimeout = RecvTimeout; rs.TTL = TTL; return(rs); }
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(); }
/// <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); }