public LogIndexableGenerator(KonversationQueryable q, string log_dir)
 {
     this.queryable  = q;
     this.files      = Directory.GetFiles(log_dir);
     this.file_index = 0;
     this.log_dir    = log_dir;
     this.generator  = null;
 }
            public SessionIndexableGenerator(KonversationQueryable queryable, string log_file, long offset)
            {
                this.queryable            = queryable;
                this.log_file             = log_file;
                this.session_begin_offset = offset;
                this.prev_line_offset     = offset;

                this.data_sb            = new StringBuilder();
                this.log_line_as_sb     = null;
                this.reader             = null;
                this.session_begin_time = DateTime.MinValue;
                this.speakers           = new Dictionary <string, bool> (10);      // rough default value

                ParseFilename(Path.GetFileName(log_file), out server_name, out speaking_to);
                Log.Debug("Reading from konversation log {0} (server={1}, channel={1})", log_file, server_name, speaking_to);
            }
			public SessionIndexableGenerator (KonversationQueryable queryable, string log_file, long offset)
			{
				this.queryable = queryable;
				this.log_file = log_file;
				this.session_begin_offset = offset;
				this.prev_line_offset = offset;

				this.data_sb = new StringBuilder ();
				this.log_line_as_sb = null;
				this.reader = null;
				this.session_begin_time = DateTime.MinValue;
				this.speakers = new Dictionary<string, bool> (10); // rough default value

				ParseFilename (Path.GetFileName (log_file), out server_name, out speaking_to);
				Log.Debug ("Reading from konversation log {0} (server={1}, channel={1})", log_file, server_name, speaking_to);
			}
			public LogIndexableGenerator (KonversationQueryable q, string log_dir)
			{
				this.queryable = q;
				this.files = Directory.GetFiles (log_dir);
				this.file_index = 0;
				this.log_dir = log_dir;
				this.generator = null;
			}