Source code for server.app.dtos.RipeMeasurementResponse

from ipaddress import IPv4Address, IPv6Address
from typing import List, Optional, Union, Dict
from pydantic import BaseModel

from server.app.dtos.PreciseTime import PreciseTime
from server.app.dtos.ProbeData import ServerLocation


[docs] class ProbeAddr(BaseModel): ipv4: Optional[IPv4Address] ipv6: Optional[IPv6Address]
[docs] class ProbeCountPerType(BaseModel): asn: Optional[int] prefix: Optional[str] country: Optional[str] area: Optional[str] random: Optional[int]
[docs] class RipeMeasurementResult(BaseModel): client_sent_time: PreciseTime server_recv_time: PreciseTime server_sent_time: PreciseTime client_recv_time: PreciseTime rtt: float offset: float
[docs] class RipeResult(BaseModel): ntp_version: int ripe_measurement_id: int vantage_point_ip: Optional[Union[IPv4Address, IPv6Address]] ntp_server_ip: Optional[Union[IPv4Address, IPv6Address]] ntp_server_name: Optional[str] ntp_server_location: ServerLocation probe_addr: ProbeAddr probe_id: Union[int, str] probe_location: ServerLocation time_to_result: float stratum: int poll: int precision: float root_delay: float root_dispersion: float ref_id: str probe_count_per_type: ProbeCountPerType result: List[RipeMeasurementResult]
[docs] class RipeMeasurementResponse(BaseModel): measurements: List[RipeResult]