static IMessage MakeMessageInternal( TextMessageCapture capture, IRegex headRe, IRegex bodyRe, ref IMatch bodyMatch, IFieldsProcessor fieldsProcessor, MakeMessageFlags makeMessageFlags, DateTime sourceTime, ITimeOffsets timeOffsets, MessagesBuilderCallback threadLocalCallbackImpl ) { if (bodyRe != null) { if (!bodyRe.Match(capture.BodyBuffer, capture.BodyIndex, capture.BodyLength, ref bodyMatch)) { return(null); } } int idx = 0; Group[] groups; fieldsProcessor.Reset(); fieldsProcessor.SetSourceTime(sourceTime); fieldsProcessor.SetPosition(capture.BeginPosition); fieldsProcessor.SetTimeOffsets(timeOffsets); groups = capture.HeaderMatch.Groups; for (int i = 1; i < groups.Length; ++i) { var g = groups[i]; fieldsProcessor.SetInputField(idx++, new StringSlice(capture.HeaderBuffer, g.Index, g.Length)); } if (bodyRe != null) { groups = bodyMatch.Groups; for (int i = 1; i < groups.Length; ++i) { var g = groups[i]; fieldsProcessor.SetInputField(idx++, new StringSlice(capture.BodyBuffer, g.Index, g.Length)); } } else { fieldsProcessor.SetInputField(idx++, new StringSlice(capture.BodyBuffer, capture.BodyIndex, capture.BodyLength)); } threadLocalCallbackImpl.SetCurrentPosition(capture.BeginPosition, capture.EndPosition); IMessage ret; ret = fieldsProcessor.MakeMessage(threadLocalCallbackImpl, makeMessageFlags); ret.SetRawText(StringSlice.Concat(capture.MessageHeaderSlice, capture.MessageBodySlice).Trim()); return(ret); }
public SingleThreadedStrategyImpl(MessagesReader reader) : base( reader.LogMedia, reader.StreamEncoding, CloneRegex(reader.fmtInfo.HeadRe, reader.IsQuickFormatDetectionMode ? ReOptions.Timeboxed : ReOptions.None).Regex, reader.fmtInfo.HeadRe.GetHeaderReSplitterFlags(), reader.fmtInfo.TextStreamPositioningParams ) { this.reader = reader; this.fieldsProcessor = reader.CreateNewFieldsProcessor(); this.callback = reader.CreateMessageBuilderCallback(); this.headerRegex = headerRe; this.bodyRegex = CloneRegex(reader.fmtInfo.BodyRe).Regex; }
public void OnEnable() { //DI-------------- _componentObtainer = ExposedEditorDi.Instance.Container.Resolve <IComponentObtainer>(); _fieldsObtainer = ExposedEditorDi.Instance.Container.Resolve <IFieldsObtainer>(); _fieldsRenderer = ExposedEditorDi.Instance.Container.Resolve <IFieldsRenderer>(); _fieldsProcessor = ExposedEditorDi.Instance.Container.Resolve <IFieldsProcessor>(); //---------------- _exposedReferences = (ExposedReferences)target; _exposedReferences.PreInitializationEnabled = _exposedReferences.hideFlags == HideFlags.None; _scriptMappings = _componentObtainer.GetComponentMappingsOnSameGameObject(_exposedReferences); _configFoldouts = new bool[_scriptMappings.Count]; for (int index = 0; index < _configFoldouts.Length; index++) { _configFoldouts[index] = true; } _isPrefab = _exposedReferences.hideFlags != HideFlags.None; }