Wie kann ich eine Protobuf-Nachricht serialisieren / deserialisieren, die mit ScalaPB "oneof" verwendet?

Ich verwende ScalaPB, um meine Scala-Fallklassen für die Serialisierung meiner Protobuf-Nachrichten zu kompilieren.

Ich habe ein.proto Datei mit folgenden Meldungen:

message WrapperMessage {
    oneof msg {
        Login login = 1;
        Register register = 2;
    }
}

message Login {
    required string email = 1;
    required string password = 2;
}

message Register {
    required string email = 1;
    required string password = 2;
    optional string firstName = 3;
    optional string lastName = 4;
}

Wie erstelle ich meinWrapperMessage zu wissen, dass ich ein @ setzen möchLogin Nachricht immsg?

  val login = Login(email = "[email protected]", password = "testpass")
  val wrapperMessage = WrapperMessage(???)
  val wrapperMessageBytes = wrapperMessage.toByteArray

Sagen wir jetzt, dass ich ein @ erhalWrapperMessage über den Draht; Wie deserialisiere ich die Nachricht mithilfe von ScalaPB-Fallklassenmethoden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage