blob: 6b78c81fe02dfab705c6667da090b71d95583cee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
#ifndef ICEGRID_H
#define ICEGRID_H
namespace IceGrid
{
/**
* Abstract base class for a replica group filter.
* \headerfile IceGrid/IceGrid.h
*/
class ReplicaGroupFilter : public IceUtil::Shared
{
public:
/**
* Called by the registry to filter a collection of adapters. The implementation must not block.
* @param replicaGroupId The replica group identifier involved in this request.
* @param adapterIds A sequence of object adapter identifiers denoting the object
* adapters participating in the replica group whose nodes are active at the time of the request.
* @param connection The incoming connection from the client to the registry.
* @param context The incoming connection from the client to the registry.
* @return The filtered list of adapter identifiers.
*/
virtual Ice::StringSeq filter(const string& replicaGroupId, const Ice::StringSeq& adapterIds,
const Ice::ConnectionPtr& connection, const Ice::Context& context) = 0;
};
};
#endif
|