Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /lib/python2.7/site-packages/google/protobuf/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python2.7/site-packages/google/protobuf/service.py
# Protocol Buffers - Google's data interchange format
# Copyright 2008 Google Inc.  All rights reserved.
# https://developers.google.com/protocol-buffers/
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#     * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
#     * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

"""DEPRECATED:  Declares the RPC service interfaces.

This module declares the abstract interfaces underlying proto2 RPC
services.  These are intended to be independent of any particular RPC
implementation, so that proto2 services can be used on top of a variety
of implementations.  Starting with version 2.3.0, RPC implementations should
not try to build on these, but should instead provide code generator plugins
which generate code specific to the particular RPC implementation.  This way
the generated code can be more appropriate for the implementation in use
and can avoid unnecessary layers of indirection.
"""

__author__ = 'petar@google.com (Petar Petrov)'


class RpcException(Exception):
  """Exception raised on failed blocking RPC method call."""
  pass


class Service(object):

  """Abstract base interface for protocol-buffer-based RPC services.

  Services themselves are abstract classes (implemented either by servers or as
  stubs), but they subclass this base interface. The methods of this
  interface can be used to call the methods of the service without knowing
  its exact type at compile time (analogous to the Message interface).
  """

  def GetDescriptor():
    """Retrieves this service's descriptor."""
    raise NotImplementedError

  def CallMethod(self, method_descriptor, rpc_controller,
                 request, done):
    """Calls a method of the service specified by method_descriptor.

    If "done" is None then the call is blocking and the response
    message will be returned directly.  Otherwise the call is asynchronous
    and "done" will later be called with the response value.

    In the blocking case, RpcException will be raised on error.

    Preconditions:
    * method_descriptor.service == GetDescriptor
    * request is of the exact same classes as returned by
      GetRequestClass(method).
    * After the call has started, the request must not be modified.
    * "rpc_controller" is of the correct type for the RPC implementation being
      used by this Service.  For stubs, the "correct type" depends on the
      RpcChannel which the stub is using.

    Postconditions:
    * "done" will be called when the method is complete.  This may be
      before CallMethod() returns or it may be at some point in the future.
    * If the RPC failed, the response value passed to "done" will be None.
      Further details about the failure can be found by querying the
      RpcController.
    """
    raise NotImplementedError

  def GetRequestClass(self, method_descriptor):
    """Returns the class of the request message for the specified method.

    CallMethod() requires that the request is of a particular subclass of
    Message. GetRequestClass() gets the default instance of this required
    type.

    Example:
      method = service.GetDescriptor().FindMethodByName("Foo")
      request = stub.GetRequestClass(method)()
      request.ParseFromString(input)
      service.CallMethod(method, request, callback)
    """
    raise NotImplementedError

  def GetResponseClass(self, method_descriptor):
    """Returns the class of the response message for the specified method.

    This method isn't really needed, as the RpcChannel's CallMethod constructs
    the response protocol message. It's provided anyway in case it is useful
    for the caller to know the response type in advance.
    """
    raise NotImplementedError


class RpcController(object):

  """An RpcController mediates a single method call.

  The primary purpose of the controller is to provide a way to manipulate
  settings specific to the RPC implementation and to find out about RPC-level
  errors. The methods provided by the RpcController interface are intended
  to be a "least common denominator" set of features which we expect all
  implementations to support.  Specific implementations may provide more
  advanced features (e.g. deadline propagation).
  """

  # Client-side methods below

  def Reset(self):
    """Resets the RpcController to its initial state.

    After the RpcController has been reset, it may be reused in
    a new call. Must not be called while an RPC is in progress.
    """
    raise NotImplementedError

  def Failed(self):
    """Returns true if the call failed.

    After a call has finished, returns true if the call failed.  The possible
    reasons for failure depend on the RPC implementation.  Failed() must not
    be called before a call has finished.  If Failed() returns true, the
    contents of the response message are undefined.
    """
    raise NotImplementedError

  def ErrorText(self):
    """If Failed is true, returns a human-readable description of the error."""
    raise NotImplementedError

  def StartCancel(self):
    """Initiate cancellation.

    Advises the RPC system that the caller desires that the RPC call be
    canceled.  The RPC system may cancel it immediately, may wait awhile and
    then cancel it, or may not even cancel the call at all.  If the call is
    canceled, the "done" callback will still be called and the RpcController
    will indicate that the call failed at that time.
    """
    raise NotImplementedError

  # Server-side methods below

  def SetFailed(self, reason):
    """Sets a failure reason.

    Causes Failed() to return true on the client side.  "reason" will be
    incorporated into the message returned by ErrorText().  If you find
    you need to return machine-readable information about failures, you
    should incorporate it into your response protocol buffer and should
    NOT call SetFailed().
    """
    raise NotImplementedError

  def IsCanceled(self):
    """Checks if the client cancelled the RPC.

    If true, indicates that the client canceled the RPC, so the server may
    as well give up on replying to it.  The server should still call the
    final "done" callback.
    """
    raise NotImplementedError

  def NotifyOnCancel(self, callback):
    """Sets a callback to invoke on cancel.

    Asks that the given callback be called when the RPC is canceled.  The
    callback will always be called exactly once.  If the RPC completes without
    being canceled, the callback will be called after completion.  If the RPC
    has already been canceled when NotifyOnCancel() is called, the callback
    will be called immediately.

    NotifyOnCancel() must be called no more than once per request.
    """
    raise NotImplementedError


class RpcChannel(object):

  """Abstract interface for an RPC channel.

  An RpcChannel represents a communication line to a service which can be used
  to call that service's methods.  The service may be running on another
  machine. Normally, you should not use an RpcChannel directly, but instead
  construct a stub {@link Service} wrapping it.  Example:

  Example:
    RpcChannel channel = rpcImpl.Channel("remotehost.example.com:1234")
    RpcController controller = rpcImpl.Controller()
    MyService service = MyService_Stub(channel)
    service.MyMethod(controller, request, callback)
  """

  def CallMethod(self, method_descriptor, rpc_controller,
                 request, response_class, done):
    """Calls the method identified by the descriptor.

    Call the given method of the remote service.  The signature of this
    procedure looks the same as Service.CallMethod(), but the requirements
    are less strict in one important way:  the request object doesn't have to
    be of any specific class as long as its descriptor is method.input_type.
    """
    raise NotImplementedError
Name
Size
Permissions
Options
compiler
--
drwxr-xr-x
internal
--
drwxr-xr-x
pyext
--
drwxr-xr-x
util
--
drwxr-xr-x
__init__.py
1.846 KB
-rw-r--r--
__init__.pyc
0.399 KB
-rw-r--r--
__init__.pyo
0.399 KB
-rw-r--r--
any_pb2.py
2.623 KB
-rw-r--r--
any_pb2.pyc
2.76 KB
-rw-r--r--
any_pb2.pyo
2.76 KB
-rw-r--r--
any_test_pb2.py
3.13 KB
-rw-r--r--
any_test_pb2.pyc
2.925 KB
-rw-r--r--
any_test_pb2.pyo
2.925 KB
-rw-r--r--
api_pb2.py
10.64 KB
-rw-r--r--
api_pb2.pyc
6.629 KB
-rw-r--r--
api_pb2.pyo
6.629 KB
-rw-r--r--
descriptor.py
38.677 KB
-rw-r--r--
descriptor.pyc
36.167 KB
-rw-r--r--
descriptor.pyo
36.167 KB
-rw-r--r--
descriptor_database.py
5.793 KB
-rw-r--r--
descriptor_database.pyc
4.868 KB
-rw-r--r--
descriptor_database.pyo
4.868 KB
-rw-r--r--
descriptor_pb2.py
87.126 KB
-rw-r--r--
descriptor_pb2.pyc
42.318 KB
-rw-r--r--
descriptor_pb2.pyo
42.318 KB
-rw-r--r--
descriptor_pool.py
35.226 KB
-rw-r--r--
descriptor_pool.pyc
29.594 KB
-rw-r--r--
descriptor_pool.pyo
29.563 KB
-rw-r--r--
duration_pb2.py
2.715 KB
-rw-r--r--
duration_pb2.pyc
2.79 KB
-rw-r--r--
duration_pb2.pyo
2.79 KB
-rw-r--r--
empty_pb2.py
1.905 KB
-rw-r--r--
empty_pb2.pyc
2.204 KB
-rw-r--r--
empty_pb2.pyo
2.204 KB
-rw-r--r--
field_mask_pb2.py
2.365 KB
-rw-r--r--
field_mask_pb2.pyc
2.647 KB
-rw-r--r--
field_mask_pb2.pyo
2.647 KB
-rw-r--r--
json_format.py
28.519 KB
-rw-r--r--
json_format.pyc
24.207 KB
-rw-r--r--
json_format.pyo
24.207 KB
-rw-r--r--
map_proto2_unittest_pb2.py
54.587 KB
-rw-r--r--
map_proto2_unittest_pb2.pyc
25.525 KB
-rw-r--r--
map_proto2_unittest_pb2.pyo
25.525 KB
-rw-r--r--
map_unittest_pb2.py
124.437 KB
-rw-r--r--
map_unittest_pb2.pyc
54.627 KB
-rw-r--r--
map_unittest_pb2.pyo
54.627 KB
-rw-r--r--
message.py
11.186 KB
-rw-r--r--
message.pyc
12.106 KB
-rw-r--r--
message.pyo
12.106 KB
-rw-r--r--
message_factory.py
6.132 KB
-rw-r--r--
message_factory.pyc
4.575 KB
-rw-r--r--
message_factory.pyo
4.575 KB
-rw-r--r--
proto_builder.py
5.08 KB
-rw-r--r--
proto_builder.pyc
3.293 KB
-rw-r--r--
proto_builder.pyo
3.293 KB
-rw-r--r--
reflection.py
4.455 KB
-rw-r--r--
reflection.pyc
2.982 KB
-rw-r--r--
reflection.pyo
2.982 KB
-rw-r--r--
service.py
8.93 KB
-rw-r--r--
service.pyc
9.399 KB
-rw-r--r--
service.pyo
9.399 KB
-rw-r--r--
service_reflection.py
10.765 KB
-rw-r--r--
service_reflection.pyc
11.05 KB
-rw-r--r--
service_reflection.pyo
11.05 KB
-rw-r--r--
source_context_pb2.py
2.478 KB
-rw-r--r--
source_context_pb2.pyc
2.766 KB
-rw-r--r--
source_context_pb2.pyo
2.766 KB
-rw-r--r--
struct_pb2.py
10.645 KB
-rw-r--r--
struct_pb2.pyc
6.686 KB
-rw-r--r--
struct_pb2.pyo
6.686 KB
-rw-r--r--
symbol_database.py
6.272 KB
-rw-r--r--
symbol_database.pyc
5.981 KB
-rw-r--r--
symbol_database.pyo
5.981 KB
-rw-r--r--
test_messages_proto2_pb2.py
105.199 KB
-rw-r--r--
test_messages_proto2_pb2.pyc
51.305 KB
-rw-r--r--
test_messages_proto2_pb2.pyo
51.305 KB
-rw-r--r--
test_messages_proto3_pb2.py
115.046 KB
-rw-r--r--
test_messages_proto3_pb2.pyc
57.013 KB
-rw-r--r--
test_messages_proto3_pb2.pyo
57.013 KB
-rw-r--r--
text_encoding.py
4.509 KB
-rw-r--r--
text_encoding.pyc
3.258 KB
-rw-r--r--
text_encoding.pyo
3.258 KB
-rw-r--r--
text_format.py
49.694 KB
-rw-r--r--
text_format.pyc
46.595 KB
-rw-r--r--
text_format.pyo
46.56 KB
-rw-r--r--
timestamp_pb2.py
2.734 KB
-rw-r--r--
timestamp_pb2.pyc
2.806 KB
-rw-r--r--
timestamp_pb2.pyo
2.806 KB
-rw-r--r--
type_pb2.py
21.347 KB
-rw-r--r--
type_pb2.pyc
11.964 KB
-rw-r--r--
type_pb2.pyo
11.964 KB
-rw-r--r--
unittest_arena_pb2.py
4.401 KB
-rw-r--r--
unittest_arena_pb2.pyc
3.64 KB
-rw-r--r--
unittest_arena_pb2.pyo
3.64 KB
-rw-r--r--
unittest_custom_options_pb2.py
88.182 KB
-rw-r--r--
unittest_custom_options_pb2.pyc
40.639 KB
-rw-r--r--
unittest_custom_options_pb2.pyo
40.639 KB
-rw-r--r--
unittest_import_pb2.py
4.493 KB
-rw-r--r--
unittest_import_pb2.pyc
3.993 KB
-rw-r--r--
unittest_import_pb2.pyo
3.993 KB
-rw-r--r--
unittest_import_public_pb2.py
2.287 KB
-rw-r--r--
unittest_import_public_pb2.pyc
2.564 KB
-rw-r--r--
unittest_import_public_pb2.pyo
2.564 KB
-rw-r--r--
unittest_mset_pb2.py
9.726 KB
-rw-r--r--
unittest_mset_pb2.pyc
5.984 KB
-rw-r--r--
unittest_mset_pb2.pyo
5.984 KB
-rw-r--r--
unittest_mset_wire_format_pb2.py
3.764 KB
-rw-r--r--
unittest_mset_wire_format_pb2.pyc
3.271 KB
-rw-r--r--
unittest_mset_wire_format_pb2.pyo
3.271 KB
-rw-r--r--
unittest_no_arena_import_pb2.py
2.181 KB
-rw-r--r--
unittest_no_arena_import_pb2.pyc
2.426 KB
-rw-r--r--
unittest_no_arena_import_pb2.pyo
2.426 KB
-rw-r--r--
unittest_no_arena_pb2.py
51.167 KB
-rw-r--r--
unittest_no_arena_pb2.pyc
27.355 KB
-rw-r--r--
unittest_no_arena_pb2.pyo
27.355 KB
-rw-r--r--
unittest_no_generic_services_pb2.py
4.146 KB
-rw-r--r--
unittest_no_generic_services_pb2.pyc
4.016 KB
-rw-r--r--
unittest_no_generic_services_pb2.pyo
4.016 KB
-rw-r--r--
unittest_pb2.py
335.223 KB
-rw-r--r--
unittest_pb2.pyc
159.03 KB
-rw-r--r--
unittest_pb2.pyo
159.03 KB
-rw-r--r--
unittest_proto3_arena_pb2.py
59.157 KB
-rw-r--r--
unittest_proto3_arena_pb2.pyc
29.432 KB
-rw-r--r--
unittest_proto3_arena_pb2.pyo
29.432 KB
-rw-r--r--
wrappers_pb2.py
11.261 KB
-rw-r--r--
wrappers_pb2.pyc
6.485 KB
-rw-r--r--
wrappers_pb2.pyo
6.485 KB
-rw-r--r--