class_docstr: Wraps a concurrent Future to behave like AsyncResult
class_docstr_tok: ["Wraps","a","concurrent","Future","to","behave","like","AsyncResult"]
code: def successful(self):
      if not self.future.done():
          raise ValueError()
  
      return self.future.exception() is None
  
imports: import concurrent.futures
  import logging
  import multiprocessing
  import pickle
  import traceback
  from concurrent.futures import ThreadPoolExecutor, wait
  from multiprocessing import Process
  from multiprocessing.pool import Pool
  import cloudpickle
  from orion.executor.base import AsyncException, AsyncResult, BaseExecutor, ExecutorClosed, Future
label_desc: Use image node_id 5 for calling the _ThreadFuture obj's underlying member method code with example usage: obj.successful() and returns: unknown