def _process(self, envelope, session, mode, **kwargs):
		""" :meth:`.WMessengerOnionLayerProto.process` implementation
		"""
		if mode == WMessengerOnionCoderLayerProto.Mode.encode:
			return self.encode(envelope, session, **kwargs)
		else:  # mode == WMessengerOnionCoderLayerProto.Mode.decode
			return self.decode(envelope, session, **kwargs)
:meth:`.WMessengerOnionLayerProto.process` implementation