File: ReplicaGroupFilter.h

package info (click to toggle)
zeroc-ice 3.7.2-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 78,676 kB
  • sloc: cpp: 351,609; java: 225,746; cs: 101,269; python: 27,375; objc: 26,927; php: 7,429; ruby: 6,485; yacc: 2,934; ansic: 1,798; xml: 1,592; lex: 1,233; makefile: 363; sh: 44
file content (34 lines) | stat: -rw-r--r-- 1,094 bytes parent folder | download | duplicates (5)
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