def from_wire(rdclass, rdtype, wire, current, rdlen, origin=None):
    'Build an rdata object from wire format\n\n    This function attempts to dynamically load a class which\n    implements the specified rdata class and type.  If there is no\n    class-and-type-specific implementation, the GenericRdata class\n    is used.\n\n    Once a class is chosen, its from_wire() class method is called\n    with the parameters to this function.\n\n    @param rdclass: The rdata class\n    @type rdclass: int\n    @param rdtype: The rdata type\n    @type rdtype: int\n    @param wire: The wire-format message\n    @type wire: string\n    @param current: The offset in wire of the beginning of the rdata.\n    @type current: int\n    @param rdlen: The length of the wire-format rdata\n    @type rdlen: int\n    @param origin: The origin to use for relative names\n    @type origin: dns.name.Name\n    @rtype: dns.rdata.Rdata instance'
    wire = dns.wiredata.maybe_wrap(wire)
    cls = get_rdata_class(rdclass, rdtype)
    return cls.from_wire(rdclass, rdtype, wire, current, rdlen, origin)
Build an rdata object from wire format

This function attempts to dynamically load a class which
implements the specified rdata class and type.  If there is no
class-and-type-specific implementation, the GenericRdata class
is used.

Once a class is chosen, its from_wire() class method is called
with the parameters to this function.

@param rdclass: The rdata class
@type rdclass: int
@param rdtype: The rdata type
@type rdtype: int
@param wire: The wire-format message
@type wire: string
@param current: The offset in wire of the beginning of the rdata.
@type current: int
@param rdlen: The length of the wire-format rdata
@type rdlen: int
@param origin: The origin to use for relative names
@type origin: dns.name.Name
@rtype: dns.rdata.Rdata instance
def from_wire(rdclass, rdtype, wire, current, rdlen, origin=None):
    'Build an rdata object from wire format\n\n    This function attempts to dynamically load a class which\n    implements the specified rdata class and type.  If there is no\n    class-and-type-specific implementation, the GenericRdata class\n    is used.\n\n    Once a class is chosen, its from_wire() class method is called\n    with the parameters to this function.\n\n    @param rdclass: The rdata class\n    @type rdclass: int\n    @param rdtype: The rdata type\n    @type rdtype: int\n    @param wire: The wire-format message\n    @type wire: string\n    @param current: The offset in wire of the beginning of the rdata.\n    @type current: int\n    @param rdlen: The length of the wire-format rdata\n    @type rdlen: int\n    @param origin: The origin to use for relative names\n    @type origin: dns.name.Name\n    @rtype: dns.rdata.Rdata instance'
    wire = dns.wiredata.maybe_wrap(wire)
    cls = get_rdata_class(rdclass, rdtype)
    return cls.from_wire(rdclass, rdtype, wire, current, rdlen, origin)