Read Managed Objects Instances.

        Given one or more py:class:`~pysnmp.smi.rfc1902.ObjectType` objects, read
        all or none of the referenced Managed Objects Instances.

        Parameters
        ----------
        varBinds: :py:class:`tuple` of :py:class:`~pysnmp.smi.rfc1902.ObjectType` objects
            representing Managed Objects Instances to read.

        Other Parameters
        ----------------
        \*\*context:

            Query parameters:

            * `cbFun` (callable) - user-supplied callable that is invoked to
                pass the new value of the Managed Object Instance or an error.
                If not provided, default function will raise exception in case
                of an error.

            * `acFun` (callable) - user-supplied callable that is invoked to
                authorize access to the requested Managed Object Instance. If
                not supplied, no access control will be performed.

        Notes
        -----
        The signature of the callback functions (e.g. `cbFun`, `acFun`) is this:

        .. code-block: python

            def cbFun(varBinds, **context):
                errors = context.get(errors)
                if errors:
                    print(errors[0].error)

                else:
                    print(', '.join('%s = %s' % varBind for varBind in varBinds))

        In case of errors, the `errors` key in the `context` dict will contain
        a sequence of `dict` objects describing one or more errors that occur.

        If a non-existing Managed Object is referenced, no error will be
        reported, but the values returned in the `varBinds` would be either
        :py:class:`NoSuchObject` (indicating non-existent Managed Object) or
        :py:class:`NoSuchInstance` (if Managed Object exists, but is not
        instantiated).

def readMibObjects(self, *varBinds, **context):
        """Read Managed Objects Instances.

        Given one or more py:class:`~pysnmp.smi.rfc1902.ObjectType` objects, read
        all or none of the referenced Managed Objects Instances.

        Parameters
        ----------
        varBinds: :py:class:`tuple` of :py:class:`~pysnmp.smi.rfc1902.ObjectType` objects
            representing Managed Objects Instances to read.

        Other Parameters
        ----------------
        \*\*context:

            Query parameters:

            * `cbFun` (callable) - user-supplied callable that is invoked to
                pass the new value of the Managed Object Instance or an error.
                If not provided, default function will raise exception in case
                of an error.

            * `acFun` (callable) - user-supplied callable that is invoked to
                authorize access to the requested Managed Object Instance. If
                not supplied, no access control will be performed.

        Notes
        -----
        The signature of the callback functions (e.g. `cbFun`, `acFun`) is this:

        .. code-block: python

            def cbFun(varBinds, **context):
                errors = context.get(errors)
                if errors:
                    print(errors[0].error)

                else:
                    print(', '.join('%s = %s' % varBind for varBind in varBinds))

        In case of errors, the `errors` key in the `context` dict will contain
        a sequence of `dict` objects describing one or more errors that occur.

        If a non-existing Managed Object is referenced, no error will be
        reported, but the values returned in the `varBinds` would be either
        :py:class:`NoSuchObject` (indicating non-existent Managed Object) or
        :py:class:`NoSuchInstance` (if Managed Object exists, but is not
        instantiated).
        """
        if 'cbFun' not in context:
            context['cbFun'] = self._defaultErrorHandler

        self.flipFlopFsm(self.FSM_READ_VAR, *varBinds, **context)