Class ProtobufSerializer<T>
  
  
  
    Inheritance
    
    
    
    ProtobufSerializer<T>
   
  
  
  
  Assembly: Confluent.SchemaRegistry.Serdes.Protobuf.dll
  Syntax
  
    public class ProtobufSerializer<T> : AsyncSerializer<T, FileDescriptorSet>, IAsyncSerializer<T> where T : IMessage<T>, new()
   
  Type Parameters
  
  
  
  Constructors
  
  ProtobufSerializer(ISchemaRegistryClient, ProtobufSerializerConfig, RuleRegistry)
  Initialize a new instance of the ProtobufSerializer class.
 
  
  Declaration
  
    public ProtobufSerializer(ISchemaRegistryClient schemaRegistryClient, ProtobufSerializerConfig config = null, RuleRegistry ruleRegistry = null)
   
  Parameters
  
  Methods
  
  IgnoreReference(string)
  
  
  Declaration
  
    protected override bool IgnoreReference(string name)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | string | 
        name | 
         | 
      
    
  
  Returns
  
  Overrides
  
  
  ParseSchema(Schema)
  
  
  Declaration
  
    protected override Task<FileDescriptorSet> ParseSchema(Schema schema)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Schema | 
        schema | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | Task<FileDescriptorSet> | 
         | 
      
    
  
  Overrides
  Confluent.SchemaRegistry.AsyncSerde<Google.Protobuf.Reflection.FileDescriptorSet>.ParseSchema(Confluent.SchemaRegistry.Schema)
  
  SerializeAsync(T, SerializationContext)
  Serialize an instance of type T to a byte array
in Protobuf format. The serialized data is preceeded by:
- A "magic byte" (1 byte) that identifies this as a message with
Confluent Platform framing.
 
- The id of the schema as registered in Confluent's Schema Registry
(4 bytes, network byte order).
 
- An size-prefixed array of indices that identify the specific message
type in the schema (a given schema can contain many message types
and they can be nested). Size and indices are unsigned varints. The
common case where the message type is the first message in the schema
(i.e. index data would be [1,0]) is encoded as simply a single 0 byte
as an optimization.
This call may block or throw on first use for a particular topic during
schema registration / verification.
 
 
  
  Declaration
  
    public override Task<byte[]> SerializeAsync(T value, SerializationContext context)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | T | 
        value | 
        The value to serialize. 
 | 
      
      
        | SerializationContext | 
        context | 
        Context relevant to the serialize operation. 
 | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | Task<byte[]> | 
        A Task that completes with
value serialized as a byte array. 
 | 
      
    
  
  Overrides
  Confluent.SchemaRegistry.AsyncSerializer<T, Google.Protobuf.Reflection.FileDescriptorSet>.SerializeAsync(T, Confluent.Kafka.SerializationContext)
  Implements