fix(mtprotoedge): sync admit nested gzip RPC envelopes
This commit is contained in:
parent
9cb76b7c5a
commit
e756b0f9f9
12 changed files with 783 additions and 26 deletions
|
|
@ -70,6 +70,14 @@ type LayerRPCHandler interface {
|
|||
) (tlprofile.Result, string, error)
|
||||
}
|
||||
|
||||
// LayerRPCOptionsAdmitter extends the stable handler boundary with
|
||||
// caller-owned admission capabilities. Implementations that do not expose it
|
||||
// remain usable for requests that need only Limits.
|
||||
type LayerRPCOptionsAdmitter interface {
|
||||
AdmitLayerWithOptions(profile tlprofile.Profile, b *bin.Buffer, options tlprofile.AdmissionOptions) (tlprofile.Admission, error)
|
||||
AdmitUnprofiledWithOptions(b *bin.Buffer, options tlprofile.AdmissionOptions) (tlprofile.Admission, error)
|
||||
}
|
||||
|
||||
// LayerRPCDefaultProfileAdmitter decodes with a recoverable inherited/default
|
||||
// profile. Production handlers should implement it with the same sparse
|
||||
// tlprofile dispatcher and semantic adapter registry used by AdmitLayer. The split keeps old
|
||||
|
|
@ -79,6 +87,12 @@ type LayerRPCDefaultProfileAdmitter interface {
|
|||
AdmitDefaultLayer(profile tlprofile.Profile, b *bin.Buffer, limits tlprofile.Limits) (tlprofile.Admission, error)
|
||||
}
|
||||
|
||||
// LayerRPCDefaultProfileOptionsAdmitter is the capability-aware form used when
|
||||
// exact admission needs caller-owned resources such as bounded gzip expansion.
|
||||
type LayerRPCDefaultProfileOptionsAdmitter interface {
|
||||
AdmitDefaultLayerWithOptions(profile tlprofile.Profile, b *bin.Buffer, options tlprofile.AdmissionOptions) (tlprofile.Admission, error)
|
||||
}
|
||||
|
||||
// LayerRPCSessionProfileResolver may restore an exact profile only when it was
|
||||
// previously proven for this same (auth_key_id, session_id). Auth-key-wide
|
||||
// device metadata is intentionally ineligible: a client upgrade can reuse its
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue