class twisted.names.dns.IEncodable(Interface): (source)
Known subclasses: twisted.names.dns.IEncodableRecord
Known implementations: twisted.names.dns._OPTHeader, twisted.names.dns._OPTVariableOption, twisted.names.dns.Charstr, twisted.names.dns.Name, twisted.names.dns.Query, twisted.names.dns.RRHeader
Interface for something which can be encoded to and decoded to the DNS wire format.
A binary-mode file object (such as io.BytesIO
) is used as a buffer when encoding or decoding.
Method | encode | Write a representation of this object to the given file object. |
Method | decode | Reconstruct an object from data read from the given file object. |
Write a representation of this object to the given file object.
Parameters | strio | The buffer to write to. It must have a tell() method. (type: File-like object) |
compDict | A mapping of names to byte offsets that have already been written to the buffer, which may be used for compression (see RFC 1035 section 4.1.4). When None , encode without compression. (type: dict of bytes to int r None ) |
Reconstruct an object from data read from the given file object.
Parameters | strio | A seekable buffer from which bytes may be read. (type: File-like object) |
length | The number of bytes in this RDATA field. Most implementations can ignore this value. Only in the case of records similar to TXT where the total length is in no way encoded in the data is it necessary. (type: int or None ) |