Documentation Set for Swarm 2.2
Prev | Reference III. Activity Library | Next

# SwarmProcess

## Name

SwarmProcess -- An object that holds a collection of concurrent subprocesses.

## Description

SwarmProcess inherits the messages of both ActionType and Zone. Inheritance of zone behavior means that a swarm can be used as the argument of a create: or createBegin: message, for creation of an object within the internal zone of a swarm.

Unlike other action types, swarms and swarm activities always exist in a one-to-one relationship, provided that the swarm has been activated. This restriction to a single activity enables the swarm to do double-duty as a custom object that provides its own interface to the activities running within the swarm.

## Protocols adopted by SwarmProcess

ActionType Zone SynchronizationType

## Methods

### Phase: Creating

- - setInternalZoneType: aZoneType
  The InternalZoneType option sets the type of zone which is created by the swarm to hold objects created within the swarm. If set to nil, no internal zone is created within the swarm, and all use of the swarm as if it were a zone raises an error. The default of this option is standard Zone type. (.. Since there is no other Zone type yet, there's no reason to set this option yet except to turn off the internal zone. ..)

### Phase: Using

- - (id <SwarmActivity>)getActivity
  getActivity returns the activity which is currently running of subactivities within the swarm. This activity is the same as the value returned by activateIn: when the swarm was first activated. It returns nil if the swarm has not yet been activated.

- - getInternalZone
  getInternalZone returns a Zone object that is used by the swarm to hold its internal objects. Even though the swarm itself inherits from Zone and can be used as a Zone for nearly all purposes, this message is also provided so that the zone itself can be obtained independent of all zone behavior.

Prev | Home | Next
SwarmActivity | Up | SynchronizationType