class_docstr: Implement a generic protocol to allow Orion to communicate using
  different storage backend
class_docstr_tok: ["Implement","a","generic","protocol","to","allow","Orion","to","communicate","using","different","storage","backend"]
docstr: Fetch the result from a given medium (file, db, socket, etc..) for a given trial and
  insert it into the trial object
docstr_tok: ["Fetch","the","result","from","a","given","medium","(","file",",","db",",","socket",",","etc","..",")","for","a","given","trial","and","insert","it","into","the","trial","object"]
code: def retrieve_result(self, trial: Trial, *args, **kwargs) -> Trial:
      """Fetch the result from a given medium (file, db, socket, etc..) for a given trial and
      insert it into the trial object
      """
      raise NotImplementedError()
  
imports: from __future__ import annotations
  import contextlib
  import copy
  import logging
  import typing
  from datetime import datetime
  from typing import Literal
  import orion.core
  from orion.core.io import resolve_config
  from orion.core.utils import GenericFactory
label_desc: Use image node_id 16 for calling the BaseStorageProtocol obj's underlying member method code with example usage: obj.retrieve_result(trial) without return types