diff options
Diffstat (limited to 'cpp/include/Ice/BatchRequestInterceptor.h')
-rw-r--r-- | cpp/include/Ice/BatchRequestInterceptor.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/cpp/include/Ice/BatchRequestInterceptor.h b/cpp/include/Ice/BatchRequestInterceptor.h index 70c6a7a8e61..18f445b7e66 100644 --- a/cpp/include/Ice/BatchRequestInterceptor.h +++ b/cpp/include/Ice/BatchRequestInterceptor.h @@ -16,6 +16,10 @@ namespace Ice { +/** + * Represents an invocation on a proxy configured for batch-oneway or batch-datagram. + * \headerfile Ice/Ice.h + */ class BatchRequest { public: @@ -24,19 +28,48 @@ public: { } + /** + * Queues the request for an eventual flush. + */ virtual void enqueue() const = 0; + + /** + * Obtains the size of the request. + * @return The number of bytes consumed by the request. + */ virtual int getSize() const = 0; + + /** + * Obtains the name of the operation. + * @return The operation name. + */ virtual const std::string& getOperation() const = 0; + + /** + * Obtains the proxy on which the batch request was invoked. + * @return The originating proxy. + */ virtual const Ice::ObjectPrxPtr& getProxy() const = 0; }; #ifndef ICE_CPP11_MAPPING +/** + * The base class for a batch request interceptor. Subclasses must implement enqueue. + * The interceptor can be installed via InitializationData. + * \headerfile Ice/Ice.h + */ class BatchRequestInterceptor : public IceUtil::Shared { public: - virtual void enqueue(const BatchRequest&, int, int) = 0; + /** + * Called by the Ice run time to enqueue a batch request. + * @param req An object representing the batch request. + * @param count The number of requests currently in the queue. + * @param size The number of bytes consumed by the requests currently in the queue. + */ + virtual void enqueue(const BatchRequest& req, int count, int size) = 0; }; typedef IceUtil::Handle<BatchRequestInterceptor> BatchRequestInterceptorPtr; |