<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def request(self, hostport=None, service=None, arg_scheme=None, retry=None, **kwargs):
 """Initiate a new request through this TChannel. :param hostport: Host to which the request will be made. If unspecified, a random known peer will be picked. This is not necessary if using Hyperbahn. :param service: The name of a service available on Hyperbahn. Defaults to an empty string. :param arg_scheme: Determines the serialization scheme for the request. One of 'raw', 'json', or 'thrift'. Defaults to 'raw'. :param rety: One of 'n' (never retry), 'c' (retry on connection errors), 't' (retry on timeout), 'ct' (retry on connection errors and timeouts). Defaults to 'c'. """

        # TODO disallow certain parameters or don't propagate them backwards.
        # For example, blacklist and rank threshold aren't really
        # user-configurable right now.
        return self.peers.request(hostport=hostport,
                                  service=service,
                                  arg_scheme=arg_scheme,
                                  retry=retry,
                                  **kwargs)