import {Ice} from 'ice';
import '../Ice/ObjectAdapterF';
import '../Ice/ConnectionF';
import '../Ice/Identity';
import '../Ice/Version';
declare module './Ice.ns' {
namespace Ice {
/**
* A request context. Context is used to transmit metadata about a
* request from the server to the client, such as Quality-of-Service
* (QoS) parameters. Each operation on the client has a Context as
* its implicit final parameter.
*/
type Context = Map;
const Context: {
/**
* A request context. Context is used to transmit metadata about a
* request from the server to the client, such as Quality-of-Service
* (QoS) parameters. Each operation on the client has a Context as
* its implicit final parameter.
*/
new (entries?: ReadonlyArray<[string, string]>): Context;
};
type OperationModeName = 'Normal' | 'Nonmutating' | 'Idempotent';
class OperationMode<
Name extends OperationModeName = OperationModeName
> extends Ice.EnumBase {
static Normal: OperationMode<'Normal'>;
static Nonmutating: OperationMode<'Nonmutating'>;
static Idempotent: OperationMode<'Idempotent'>;
}
/**
* Information about the current method invocation for servers. Each
* operation on the server has a Current as its implicit final
* parameter. Current is mostly used for Ice services. Most
* applications ignore this parameter.
*/
class Current implements Ice.Struct {
constructor(
adapter?: ObjectAdapter,
con?: Connection,
id?: Identity,
facet?: string,
operation?: string,
mode?: OperationMode,
ctx?: Context,
requestId?: number,
encoding?: Ice.EncodingVersion,
);
/**
* The object adapter.
*/
adapter: ObjectAdapter;
/**
* Information about the connection over which the current method
* invocation was received. If the invocation is direct due to
* collocation optimization, this value is set to null.
*/
con: Connection;
/**
* The Ice object identity.
*/
id: Identity;
facet: string;
/**
* The operation name.
*/
operation: string;
/**
* The mode of the operation.
*/
mode: OperationMode;
/**
* The request context, as received from the client.
*/
ctx: Context;
/**
* The request id unless oneway (0) or collocated (-1).
*/
requestId: number;
/**
* The encoding version used to encode the input and output parameters.
*/
encoding: Ice.EncodingVersion;
clone(): this;
equals(other: this): boolean;
hashCode(): number;
}
}
}
export {Ice} from './Ice.ns';