quickwit-oss/quickwit

Refactor Source building

Open

#1.064 geöffnet am 11. Jan. 2022

Auf GitHub ansehen
 (4 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Rust (553 Forks)github user discovery
enhancementhelp wanted

Repository-Metriken

Stars
 (11.300 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

In #1058, we did one step from (dynamic factory + json) to a static enum world in order to have source type specific source params validation.

We are now half-way between two worlds.

Solution 1

Just go full enum. The factory is a function of the enum. Pros: Very simple Cons: Does not separate the concern super well.

Note: If we go for that route, source_type() should return an enum too.

Solution 2

Use a SourceParams trait that can build a Source type (does the job of the factory) and do dark magic, like what @fmassot did for the IndexConfig deserialization.

Contributor Guide