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