com.zeroc.Ice.Blobject Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ice Show documentation
Show all versions of ice Show documentation
Ice is a comprehensive RPC framework that helps you build distributed applications with minimal effort using familiar object-oriented idioms
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
package com.zeroc.Ice;
import java.util.concurrent.CompletionStage;
/**
* Base class for dynamic dispatch servants. A server application
* derives a concrete servant class from Blobject
that
* implements the {@link Blobject#ice_invoke} method.
**/
public interface Blobject extends com.zeroc.Ice.Object
{
/**
* Dispatch an incoming request.
*
* @param inEncaps The encoded in-parameters for the operation.
* @param current The Current object to pass to the operation.
* @return The method returns an instance of Ice_invokeResult
.
* If the operation completed successfully, set the returnValue
* member to true
and the outParams
member to
* the encoded results. If the operation raises a user exception, you can
* either throw it directly or set the returnValue
member to
* false
and the outParams
member to the encoded
* user exception. If the operation raises an Ice run-time exception, it
* must throw it directly.
* @throws UserException A user exception can be raised directly and the
* run time will marshal it.
**/
com.zeroc.Ice.Object.Ice_invokeResult ice_invoke(byte[] inEncaps, Current current)
throws UserException;
/** @hidden */
@Override
default CompletionStage _iceDispatch(com.zeroc.IceInternal.Incoming in, Current current)
throws UserException
{
byte[] inEncaps = in.readParamEncaps();
com.zeroc.Ice.Object.Ice_invokeResult r = ice_invoke(inEncaps, current);
return in.setResult(in.writeParamEncaps(in.getAndClearCachedOutputStream(), r.outParams, r.returnValue));
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy