1pub mod chunking;
5pub mod format;
6pub mod framing;
7pub mod serializer;
8pub use chunking::{Chunker, Chunking, GelfChunker};
9#[cfg(feature = "arrow")]
10pub use format::{ArrowEncodingError, ArrowStreamSerializer, ArrowStreamSerializerConfig};
11pub use format::{
12 AvroSerializer, AvroSerializerConfig, AvroSerializerOptions, CefSerializer,
13 CefSerializerConfig, CsvSerializer, CsvSerializerConfig, GelfSerializer, GelfSerializerConfig,
14 JsonSerializer, JsonSerializerConfig, JsonSerializerOptions, LogfmtSerializer,
15 LogfmtSerializerConfig, NativeJsonSerializer, NativeJsonSerializerConfig, NativeSerializer,
16 NativeSerializerConfig, ProtobufSerializer, ProtobufSerializerConfig,
17 ProtobufSerializerOptions, RawMessageSerializer, RawMessageSerializerConfig, TextSerializer,
18 TextSerializerConfig,
19};
20#[cfg(feature = "opentelemetry")]
21pub use format::{OtlpSerializer, OtlpSerializerConfig};
22pub use framing::{
23 BoxedFramer, BoxedFramingError, BytesEncoder, BytesEncoderConfig, CharacterDelimitedEncoder,
24 CharacterDelimitedEncoderConfig, CharacterDelimitedEncoderOptions, Framer, FramingConfig,
25 LengthDelimitedEncoder, LengthDelimitedEncoderConfig, NewlineDelimitedEncoder,
26 NewlineDelimitedEncoderConfig, VarintLengthDelimitedEncoder,
27 VarintLengthDelimitedEncoderConfig,
28};
29#[cfg(feature = "arrow")]
30pub use serializer::BatchSerializerConfig;
31pub use serializer::{Serializer, SerializerConfig};
32
33pub type BuildError = Box<dyn std::error::Error + Send + Sync + 'static>;
35
36#[derive(Debug)]
38pub enum Error {
39 FramingError(BoxedFramingError),
41 SerializingError(vector_common::Error),
43 SchemaConstraintViolation(vector_common::Error),
45}
46
47impl std::fmt::Display for Error {
48 fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
49 match self {
50 Self::FramingError(error) => write!(formatter, "FramingError({error})"),
51 Self::SerializingError(error) => write!(formatter, "SerializingError({error})"),
52 Self::SchemaConstraintViolation(error) => {
53 write!(formatter, "SchemaConstraintViolation({error})")
54 }
55 }
56 }
57}
58
59impl std::error::Error for Error {}
60
61impl From<std::io::Error> for Error {
62 fn from(error: std::io::Error) -> Self {
63 Self::FramingError(Box::new(error))
64 }
65}