Lingua

ProtoOutputStream.MakeToken(Int32, Boolean, Int32, Int32, Int32) Metodo

Definizione

Creare un token.

[Android.Runtime.Register("makeToken", "(IZIII)J", "", ApiSince=30)]
public static long MakeToken(int tagSize, bool repeated, int depth, int objectId, int offset);
[<Android.Runtime.Register("makeToken", "(IZIII)J", "", ApiSince=30)>]
static member MakeToken : int * bool * int * int * int -> int64

Parametri

tagSize
Int32

Dimensione in byte del tag di campo codificato. Vengono archiviati solo i 3 bit bassi.

repeated
Boolean

Indica se l'oggetto è un campo ripetuto.

depth
Int32

Profondità di annidamento dell'oggetto. Vengono archiviati solo i 9 bit bassi.

objectId
Int32

Identificatore dell'oggetto utilizzato per il controllo degli errori. Vengono archiviati solo i 19 bit bassi.

offset
Int32

Offset del buffer associato all'oggetto . Vengono archiviati tutti i 32 bit.

Valori restituiti

Token a 64 bit contenente le dimensioni del tag mascherate, il flag ripetuto, la profondità mascherata, l'identificatore dell'oggetto mascherato e l'offset.

Attributi

Commenti

I bit da 61 a 63 contengono le dimensioni del tag; bit 60 contiene il flag ripetuto; i bit da 51 a 59 contengono la profondità; i bit da 32 a 50 contengono l'identificatore dell'oggetto; e i bit da 0 a 31 contengono l'offset. Bit 0 è il bit meno significativo.

La profondità e l'identificatore dell'oggetto sono mascherati rispettivamente a 9 e 19 bit. I valori archiviati sono compresi tra 0 e 511 e da 0 a 524287. I bit più alti vengono scartati; questo metodo non convalida i valori forniti.

Questi campi descrivono un token di oggetto interno, non un tag di campo protobuf. Usare il token restituito da Start(Int64) con End(Int64) durante la scrittura di messaggi annidati.

Vedere l'implementazione AOSP di ProtoStream.makeToken per il layout del token.

Si applica a