File: //home/arjun/projects/env/lib/python3.10/site-packages/dns/__pycache__/wire.cpython-310.pyc
o
!we � @ sF d dl Z d dlZd dlmZmZmZ d dlZd dlZG dd� d�Z dS )� N)�Iterator�Optional�Tuplec @ s e Zd Zd)dedefdd�Zdefdd�Zd edefd
d�Zd*d
edefdd�Zdefdd�Z defdd�Z
defdd�Zdefdd�Zdefdd�Z
dedefdd�Zd+ded ddfd d!�Zd"eddfd#d$�Zejd edefd%d&��Zejdefd'd(��ZdS ),�Parserr �wire�currentc C s0 || _ d| _t| j �| _|r| �|� || _d S �Nr )r r �len�end�seek�furthest)�selfr r � r �A/home/arjun/projects/env/lib/python3.10/site-packages/dns/wire.py�__init__ s
zParser.__init__�returnc C s | j | j S �N)r
r �r
r r r � remaining s zParser.remaining�sizec C sX |dksJ �|| � � krtjj�| j| j| j| � }| j|7 _t| j| j�| _|S r )r �dns� exception� FormErrorr r �maxr )r
r �outputr r r � get_bytes s zParser.get_bytes� �length_sizec C s t �| �|�d�}| �|�S )N�big��int�
from_bytesr )r
r �lengthr r r �get_counted_bytes s
zParser.get_counted_bytesc C s | � | �� �S r )r r r r r r �
get_remaining$ s zParser.get_remainingc C � t �d| �d��d S )Nz!Br r ��struct�unpackr r r r r � get_uint8'