indexing
description: "[
Used for configuring an EGS_EVENT_SESSION.
it contains a set of configuration parameters that influence
the way event listeners are registered with the space
and how event notifications are processed.
]"
legal: "See notice at end of class."
status: "See notice at end of class."
date: "$Date$"
revision: "$Revision$"
class
EGS_EVENT_SESSION_CONFIG
inherit
EGS_EXTERNAL_CPP_OBJECT
create
make
feature -- Constants
unicast: INTEGER = 0
multiplex: INTEGER = 1
multicast: INTEGER = 2
feature -- Initialisation
make (space_proxy: EGS_SPACE_PROXY) is
-- Creates the configuration according to the space.
--
-- @param space the associated space
require
space_proxy_not_void: space_proxy /= Void
do
make_from_external (cpp_create (space_proxy.object_ptr, default_pointer))
end
make_with_schema (space_proxy: EGS_SPACE_PROXY; schema: STRING) is
-- Creates the configuration according to the space and schema
--
-- @param space the associated space
-- @param schema
require
space_proxy_not_void: space_proxy /= Void
valid_schema: schema /= Void and then not schema.is_empty
local
c_str: C_STRING
do
create c_str.make (schema)
make_from_external (cpp_create (space_proxy.object_ptr, c_str.item))
end
feature -- Queries
communication_type: INTEGER is
-- The Communication type that is in use with this config.
do
Result := cpp_communication_type (object_ptr)
end
is_fifo: BOOLEAN is
-- Checks if the order that is in use with this config is fifo.
do
Result := cpp_is_fifo (object_ptr)
end
is_batching: BOOLEAN
-- Checks if using batch notifications.
do
Result := cpp_is_batching (object_ptr)
end
batch_size: INTEGER is
-- number of notifications in a batch.
do
Result := cpp_batch_size (object_ptr)
end
batch_time: INTEGER_64 is
-- The maximum elapsed time between two batch notifications
do
Result := cpp_batch_time (object_ptr)
end
is_auto_renew: BOOLEAN is
--
do
Result := cpp_is_auto_renew (object_ptr)
end
is_trigger_notify_template: BOOLEAN is
-- Should notify template be triggered on replication event.
do
Result := cpp_is_trigger_notify_template (object_ptr)
end
is_replicate_notify_template: BOOLEAN is
-- Should this template be replicated.
do
Result := cpp_is_replicate_notify_template (object_ptr)
end
renew_duration: INTEGER_64 is
-- the renew Duration.
do
Result := cpp_renew_duration (object_ptr)
end
renew_expiration: INTEGER_64 is
-- the renew Expiration.
do
Result := cpp_renew_expiration (object_ptr)
end
renew_rtt: INTEGER_64 is
-- the renew RTT.
do
Result := cpp_renew_rtt (object_ptr)
end
feature
set_communication_type (a_communication_type: INTEGER) is
-- Set the Communication type to be used with this config.
--
-- @param a_communication_type - unicast, multiplex, multicast.
do
cpp_set_communication_type (object_ptr, a_communication_type)
end
set_fifo (fifo: BOOLEAN) is
-- Set fifo order for the notifications.
--
-- @param fifo - true when using fifo order.
do
cpp_set_fifo (object_ptr, fifo)
end
set_batch (size: INTEGER; time: INTEGER_64) is
-- set the notifications to come in batches of size
-- notification can not be delay more then time ms.
--
-- @param size - amount of notification in batch.
-- @param time - maximum time to delay notification in not full batch.
do
cpp_set_batch (object_ptr, size, time)
end
set_trigger_notify_template (trigger_notify_template: BOOLEAN) is
--
do
cpp_set_trigger_notify_template (object_ptr, trigger_notify_template)
end
set_replicate_notify_template (replicate_notify_template: BOOLEAN) is
--
do
cpp_set_replicate_notify_template (object_ptr, replicate_notify_template)
end
feature {NONE} -- externals
cpp_communication_type (obj_ptr: POINTER): INTEGER is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->getComType()"
end
cpp_is_fifo (obj_ptr: POINTER): BOOLEAN is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->isFifo()"
end
cpp_is_batching (obj_ptr: POINTER): BOOLEAN is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->isBatching()"
end
cpp_batch_size (obj_ptr: POINTER): INTEGER is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->getBatchSize()"
end
cpp_batch_time (obj_ptr: POINTER): INTEGER_64 is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->getBatchTime()"
end
cpp_is_auto_renew (obj_ptr: POINTER): BOOLEAN is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->isAutoRenew()"
end
cpp_is_trigger_notify_template (obj_ptr: POINTER): BOOLEAN is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->isReplicateNotifyTemplate()"
end
cpp_is_replicate_notify_template (obj_ptr: POINTER): BOOLEAN is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->isReplicateNotifyTemplate()"
end
cpp_renew_duration (obj_ptr: POINTER): INTEGER_64 is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->getRenewDuration()"
end
cpp_renew_expiration (obj_ptr: POINTER): INTEGER_64 is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->getRenewExpiration()"
end
cpp_renew_rtt (obj_ptr: POINTER): INTEGER_64 is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->getRenewExpiration()"
end
cpp_set_communication_type (obj_ptr: POINTER; a_communication_type: INTEGER) is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->setComType($a_communication_type)"
end
cpp_set_fifo (obj_ptr: POINTER; fifo: BOOLEAN) is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->setFifo($fifo)"
end
cpp_set_batch (obj_ptr: POINTER; size: INTEGER; time: INTEGER_64) is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->setBatch($size, $time)"
end
cpp_set_trigger_notify_template (obj_ptr: POINTER; trigger_notify_template: BOOLEAN) is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->setTriggerNotifyTemplate($trigger_notify_template)"
end
cpp_set_replicate_notify_template (obj_ptr: POINTER; replicate_notify_template: BOOLEAN) is
require
obj_ptr_not_null: obj_ptr /= default_pointer
external
"C++ inline use "
alias
"(*((OpenSpaces::EventSessionConfigPtr*)$obj_ptr))->setReplicateNotifyTemplate($replicate_notify_template)"
end
cpp_create (space_ptr: POINTER; schema: POINTER): POINTER is
require
space_ptr_not_null: space_ptr /= default_pointer
external
"C++ inline use "
alias
"new OpenSpaces::EventSessionConfigPtr(OpenSpaces::EventSessionConfig::CreateSessionConfig(*((OpenSpaces::SpaceProxyPtr*)$space_ptr),(const char*) $schema))"
end
cpp_delete (obj_ptr: POINTER) is
external
"C++ inline use "
alias
"delete ((OpenSpaces::EventSessionConfigPtr*)$obj_ptr)"
end
indexing
library: "egigs-cpp: Library for accessing the GigaSpaces platform, POCO library based implementation."
copyright: "Copyright (c) 2008, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software
356 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com
]"
end