| Index: third_party/grpc/src/python/grpcio/grpc/framework/foundation/activated.py
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/websocket/close_wsh.py b/third_party/grpc/src/python/grpcio/grpc/framework/foundation/activated.py
|
| similarity index 62%
|
| copy from third_party/WebKit/LayoutTests/http/tests/websocket/close_wsh.py
|
| copy to third_party/grpc/src/python/grpcio/grpc/framework/foundation/activated.py
|
| index 1b02d66267e294ce83977dac64f075981705647c..426a71c7059eb7c866865c3d898e69eef504c6b6 100644
|
| --- a/third_party/WebKit/LayoutTests/http/tests/websocket/close_wsh.py
|
| +++ b/third_party/grpc/src/python/grpcio/grpc/framework/foundation/activated.py
|
| @@ -1,4 +1,4 @@
|
| -# Copyright 2011, Google Inc.
|
| +# Copyright 2015, Google Inc.
|
| # All rights reserved.
|
| #
|
| # Redistribution and use in source and binary forms, with or without
|
| @@ -27,27 +27,39 @@
|
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| +"""Interfaces related to streams of values or objects."""
|
|
|
| -import logging
|
| -_GOODBYE_MESSAGE = u'Goodbye'
|
| +import abc
|
|
|
|
|
| -def web_socket_do_extra_handshake(request):
|
| - pass # Always accept.
|
| +class Activated(object):
|
| + """Interface for objects that may be started and stopped.
|
|
|
| + Values implementing this type must also implement the context manager
|
| + protocol.
|
| + """
|
| + __metaclass__ = abc.ABCMeta
|
|
|
| -def web_socket_transfer_data(request):
|
| - while True:
|
| - line = request.ws_stream.receive_message()
|
| - if line is None:
|
| - return
|
| - if isinstance(line, unicode):
|
| - request.ws_stream.send_message(line, binary=False)
|
| - if line == _GOODBYE_MESSAGE:
|
| - return
|
| - else:
|
| - request.ws_stream.send_message(line, binary=True)
|
| + @abc.abstractmethod
|
| + def __enter__(self):
|
| + """See the context manager protocol for specification."""
|
| + raise NotImplementedError()
|
|
|
| + @abc.abstractmethod
|
| + def __exit__(self, exc_type, exc_val, exc_tb):
|
| + """See the context manager protocol for specification."""
|
| + raise NotImplementedError()
|
|
|
| -def web_socket_passive_closing_handshake(request):
|
| - return request.ws_close_code, request.ws_close_reason
|
| + @abc.abstractmethod
|
| + def start(self):
|
| + """Activates this object.
|
| +
|
| + Returns:
|
| + A value equal to the value returned by this object's __enter__ method.
|
| + """
|
| + raise NotImplementedError()
|
| +
|
| + @abc.abstractmethod
|
| + def stop(self):
|
| + """Deactivates this object."""
|
| + raise NotImplementedError()
|
|
|