1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
* OpenAI API
*
* The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
*
* The version of the OpenAPI document: 2.3.0
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// RealtimeBetaServerEventRateLimitsUpdated : Emitted at the beginning of a Response to indicate the updated rate limits. When a Response is created some tokens will be \"reserved\" for the output tokens, the rate limits shown here reflect that reservation, which is then adjusted accordingly once the Response is completed.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
pub struct RealtimeBetaServerEventRateLimitsUpdated {
/// The unique ID of the server event.
#[serde(rename = "event_id")]
pub event_id: String,
/// The event type, must be `rate_limits.updated`.
#[serde(rename = "type")]
pub r#type: Type,
/// List of rate limit information.
#[serde(rename = "rate_limits")]
pub rate_limits: Vec<models::RealtimeBetaServerEventRateLimitsUpdatedRateLimitsInner>,
}
impl RealtimeBetaServerEventRateLimitsUpdated {
/// Emitted at the beginning of a Response to indicate the updated rate limits. When a Response is created some tokens will be \"reserved\" for the output tokens, the rate limits shown here reflect that reservation, which is then adjusted accordingly once the Response is completed.
pub fn new(
event_id: String,
r#type: Type,
rate_limits: Vec<models::RealtimeBetaServerEventRateLimitsUpdatedRateLimitsInner>,
) -> RealtimeBetaServerEventRateLimitsUpdated {
RealtimeBetaServerEventRateLimitsUpdated {
event_id,
r#type,
rate_limits,
}
}
}
/// The event type, must be `rate_limits.updated`.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "rate_limits.updated")]
RateLimitsUpdated,
}
impl Default for Type {
fn default() -> Type {
Self::RateLimitsUpdated
}
}
impl std::fmt::Display for RealtimeBetaServerEventRateLimitsUpdated {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match serde_json::to_string(self) {
Ok(s) => write!(f, "{}", s),
Err(_) => Err(std::fmt::Error),
}
}
}