public ESDataEndpoint(ESEndpoint endpoint, ESIndexDocType doctype) : base(endpoint) { this.Connection = endpoint.Connection; this.DocType = doctype; this.cacheSize = endpoint.CacheSize; if (endpoint.MaxParallel > 0) { asyncQ = AsyncRequestQueue.Create(endpoint.MaxParallel); } }
public ESCmdEndPoint(ESEndpoint endpoint, ESIndexDocType doctype) : base(endpoint) { this.Connection = endpoint.Connection; this.Doctype = doctype; }
protected ESIndexDocType getDocType(String name, bool mustExcept) { ESIndexDocType ret = null; int ix = -1; int cnt = 0; if (name != null && 0 <= (ix = name.IndexOf('.'))) { ret = getDocType(name.Substring(0, ix), name.Substring(ix + 1)); if (ret == null) { goto EXIT_RTN; } return(ret); } if (String.IsNullOrEmpty(name)) { ESIndexDefinition def = null; if (Indexes.Count == 1) { def = Indexes[0]; if (def.DocTypes.Count == 1) { return(def.DocTypes[0]); } } goto EXIT_RTN; } var doctype = getDocType(name, null); if (doctype != null) { return(doctype); } foreach (var index in Indexes) { foreach (var dt in index.DocTypes) { if (String.Equals(name, dt.Name)) { ret = dt; cnt++; } } } if (cnt == 1) { return(ret); } EXIT_RTN: if (!mustExcept) { return(null); } Logger errorLog = Logs.ErrorLog; errorLog.Log("Type {0} is not found or is ambiguous. Found cnt={1}. All types:", name, cnt); foreach (var index in Indexes) { errorLog.Log("-- Index {0}:", index.Name); foreach (var dt in index.DocTypes) { if (String.Equals(name, dt.Name)) { errorLog.Log("-- -- Type {0}", dt.Name); } } } throw new BMException("Cannot find endpoint [{0}]. It is not found or ambiguous.", name); }