  We establish a complete classification theorem for the topology and for the
null generators of compact non-degenerate Cauchy horizons of time orientable
smooth vacuum $3+1$-spacetimes. We show that, either: (i) all generators are
closed, or (ii) only two generators are closed and any other densely fills a
two-torus, or (iii) every generator densely fills a two-torus, or (iv) every
generator densely fills the horizon. We then show that, respectively to
(i)-(iv), the horizon's manifold is either: (i') a Seifert manifold, or (ii') a
lens space, or (iii') a two-torus bundle over a circle, or, (iv') a
three-torus. All the four possibilities are known to arise in examples. In the
last case, (iv), (iv'), we show in addition that the spacetime is indeed flat
Kasner, thus settling a problem posed by Isenberg and Moncrief for ergodic
horizons. The results of this article open the door for a full parameterization
of the metrics of all vacuum spacetimes with a compact Cauchy horizon. The
method of proof permits direct generalizations to higher dimensions.
