def setup_handler(self, io_loop):
		""" :meth:`.WIOLoopServiceHandler.setup_handler` implementation.
		If :class:`.WNativeSocketDirectIOHandler` is used as a io-handler, then socket object is saved
		to this handler before loop starting

		:param io_loop: io_loop to use
		:return: None
		"""

		if self.server_mode() is True:
			s = self.transport().server_socket(self.config())
		else:
			s = self.transport().client_socket(self.config())

		io_handler = self.io_handler()
		if isinstance(io_handler, WNativeSocketDirectIOHandler) is True:
			io_handler.transport_socket(s)
		io_loop.add_handler(s.fileno(), io_handler.handler_fn, io_loop.READ)
:meth:`.WIOLoopServiceHandler.setup_handler` implementation.
		If :class:`.WNativeSocketDirectIOHandler` is used as a io-handler, then socket object is saved
		to this handler before loop starting

		:param io_loop: io_loop to use
		:return: None