Oracle® Fusion Middleware C++ API Reference for Oracle Coherence
12c (12.2.1.3.0)

E80355-01

coherence/net/Member.hpp

00001 /*
00002 * Member.hpp
00003 *
00004 * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
00005 *
00006 * Oracle is a registered trademarks of Oracle Corporation and/or its
00007 * affiliates.
00008 *
00009 * This software is the confidential and proprietary information of Oracle
00010 * Corporation. You shall not disclose such confidential and proprietary
00011 * information and shall use it only in accordance with the terms of the
00012 * license agreement you entered into with Oracle.
00013 *
00014 * This notice may not be removed or altered.
00015 */
00016 #ifndef COH_MEMBER_HPP
00017 #define COH_MEMBER_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 COH_OPEN_NAMESPACE2(coherence,net)
00022 
00023 
00024 /**
00025 * The Member interface represents a cluster member.
00026 *
00027 * @author jh  2007.12.20
00028 */
00029 class COH_EXPORT Member
00030     : public interface_spec<Member>
00031     {
00032     // ----- Member interface -----------------------------------------------
00033 
00034     public:
00035         /**
00036          * Return the name of the cluster with which this member is associated.
00037          *
00038          * @return the cluster name
00039          *
00040          * @since Coherence 12.2.1
00041          */
00042         virtual String::View getClusterName() const = 0;
00043 
00044         /**
00045         * Determine the configured name for the Site (such as a data center)
00046         * in which this Member resides. This name is used for logging
00047         * purposes and to differentiate among multiple geographic sites.
00048         *
00049         * @return the configured Site name or null
00050         */
00051         virtual String::View getSiteName() const = 0;
00052 
00053         /**
00054         * Determine the configured name for the Rack (such as a physical
00055         * rack, cage or blade frame) in which this Member resides. This name
00056         * is used for logging purposes and to differentiate among multiple
00057         * racks within a particular data center, for example.
00058         *
00059         * @return the configured Rack name or null
00060         */
00061         virtual String::View getRackName() const = 0;
00062 
00063         /**
00064         * Determine the configured name for the Machine (such as a host name)
00065         * in which this Member resides. This name is used for logging
00066         * purposes and to differentiate among multiple servers.
00067         *
00068         * @return the configured Machine name or null
00069         */
00070         virtual String::View getMachineName() const = 0;
00071 
00072         /**
00073         * Determine the configured name for the Process (such as a JVM) in
00074         * which this Member resides. This name is used for logging purposes
00075         * and to differentiate among multiple processes on a a single
00076         * machine.
00077         *
00078         * @return the configured Process name or null
00079         */
00080         virtual String::View getProcessName() const = 0;
00081 
00082         /**
00083         * Determine the configured name for the Member. This name is used for
00084         * logging purposes and to differentiate among Members running within
00085         * a particular process.
00086         *
00087         * @return the configured Member name or null
00088         */
00089         virtual String::View getMemberName() const = 0;
00090 
00091         /**
00092         * Determine the configured role name for the Member. This role is
00093         * completely definable by the application, and can be used to
00094         * determine what Members to use for specific purposes, such as to
00095         * send particular types of work to.
00096         *
00097         * @return the configured role name for the Member or null
00098         */
00099         virtual String::View getRoleName() const = 0;
00100     };
00101 
00102 COH_CLOSE_NAMESPACE2
00103 
00104 #endif // COH_MEMBER_HPP
Copyright © 2000, 2017, Oracle and/or its affiliates. All rights reserved.