.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc

.. currentmodule:: wx.lib.delayedresult

.. highlight:: python



.. _wx.lib.delayedresult.Sender:

==========================================================================================================================================
|phoenix_title|  **wx.lib.delayedresult.Sender**
==========================================================================================================================================

Base class for various kinds of senders. A sender sends a result
produced by a worker funtion to a result handler (listener). Note
that each sender can be given a "job id". This can be anything
(number, string, id, and object, etc) and is not used, it is
simply added as attribute whenever a DelayedResult is created.
This allows you to know, if desired, what result corresponds to
which sender. Note that uniqueness is not necessary.

Derive from this class if none of the existing derived classes
are adequate, and override _sendImpl().



|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>Sender</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.lib.delayedresult.Sender_inheritance.png" alt="Inheritance diagram of Sender" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.delayedresult.Sender.html" title="wx.lib.delayedresult.Sender" alt="" coords="5,5,208,35"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:class:`wx.lib.delayedresult.SenderCallAfter`, :class:`wx.lib.delayedresult.SenderNoWx`, :class:`wx.lib.delayedresult.SenderWxEvent`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.lib.delayedresult.Sender.__init__`                                    The optional jobID can be anything that you want to use to
:meth:`~wx.lib.delayedresult.Sender.getJobID`                                    Return the jobID given at construction
:meth:`~wx.lib.delayedresult.Sender.sendException`                               Use this when the worker function raised an exception.
:meth:`~wx.lib.delayedresult.Sender.sendResult`                                  This will send the result to handler, using whatever
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: Sender

   Base class for various kinds of senders. A sender sends a result
   produced by a worker funtion to a result handler (listener). Note
   that each sender can be given a "job id". This can be anything
   (number, string, id, and object, etc) and is not used, it is
   simply added as attribute whenever a DelayedResult is created.
   This allows you to know, if desired, what result corresponds to
   which sender. Note that uniqueness is not necessary.
   
   Derive from this class if none of the existing derived classes
   are adequate, and override _sendImpl().

   .. method:: __init__(self, jobID=None)

      The optional jobID can be anything that you want to use to
      track which sender particular results come from. 


   .. method:: getJobID(self)

      Return the jobID given at construction


   .. method:: sendException(self, exception, extraInfo = None, originalTb = None)

      Use this when the worker function raised an exception.
      The *exception* is the instance of Exception caught. The extraInfo
      could be anything you want (e.g. locals or traceback etc),
      it will be added to the exception as attribute 'extraInfo'. The
      exception will be raised when DelayedResult.get() is called.


   .. method:: sendResult(self, result)

      This will send the result to handler, using whatever
      technique the derived class uses. 


