code: def request_generic(self, act, coro, perform):
          
          result = self.multiplex_first and self.try_run_act(act, perform)
          if result:
              return result, coro
          else:
              self.add_token(act, coro, perform)
docs: Requests an socket operation (in the form of a callable `perform` that
          does the actual socket system call) for `coro` corutine with parameters
          and completion passed via `act`.
  
          The socket operation request parameters are passed in `act`.
          When request is completed the results will be set in `act`.
  
          Note: `act` is usualy a SocketOperation instance and the request_foo
          calls are usually made from a Foo subclass.