DNS protocol over TCP.

Instance Variable length Undocumented
Instance Variable buffer Undocumented
Method writeMessage Send a message holding DNS queries.
Method connectionMade Connection is made: reset internal state, and notify the controller.
Instance Variable liveMessages Undocumented
Method connectionLost Notify the controller that this protocol is no longer connected.
Method dataReceived Called whenever data is received.
Method query Send out a message with the given queries.

Inherited from DNSMixin:

Instance Variable id Undocumented
Method __init__ Undocumented
Instance Variable controller Undocumented
Method pickID Return a unique ID for queries.
Method callLater Wrapper around reactor.callLater, mainly for test purpose.
Instance Variable _reactor A IReactorTime and IReactorUDP provider which will be used to issue DNS queries and manage request timeouts.
Method _query Send out a message with the given queries.
Method _clearFailed Clean the Deferred after a timeout.

Inherited from Protocol:

Method logPrefix Return a prefix matching the class name, to identify log messages related to this protocol instance.

Inherited from BaseProtocol (via Protocol):

Instance Variable connected Undocumented
Instance Variable transport Undocumented
Method makeConnection Make a connection to a transport and a server.
length =
Undocumented
buffer =
Undocumented
def writeMessage(self, message): (source)

Send a message holding DNS queries.

def connectionMade(self): (source)

Connection is made: reset internal state, and notify the controller.

liveMessages =
Undocumented
(type: Dict)
def connectionLost(self, reason): (source)

Notify the controller that this protocol is no longer connected.

def dataReceived(self, data): (source)

Called whenever data is received.

Use this method to translate to a higher-level message. Usually, some callback will be made upon the receipt of each complete protocol message.

Parametersdataa string of indeterminate length. Please keep in mind that you will probably need to buffer some data, as partial (or multiple) protocol messages may be received! I recommend that unit tests for protocols call through to this method with differing chunk sizes, down to one byte at a time.
def query(self, queries, timeout=60): (source)

Send out a message with the given queries.

ParametersqueriesThe queries to transmit (type: list of Query instances)
Returns (type: Deferred)
API Documentation for Twisted, generated by pydoctor at 2020-03-20 23:54:06.