• Aucun résultat trouvé

MSUNLATCH - Unlatch Comgroup Messages

Dans le document SOfTWARE HOST (Page 136-146)

The MSUNLATCH service is used to control the status of latched messages read or written with LATCH-YES through a comgroup DCB. The lost output message may be deleted or sent

to its destination. An input message may be deleted, put bock into the queue to be re-read, or put bock in the queue in 'hold' status such that it is inaccessible until action by the administrative user.

The form of the col I for this service is:

CALL M$UNLATCH (FPT_UNLATCH) [ALTRET (label)];

The parameters are as fol lows:

DCB DCBNAME specifies the DCB associated with the comgroup.

INPUT = OPTION specifies the action to be token in respect to on input latched to this DCB. The options are:

o DELETE - Processing complete, delete it.

o RERUN - Put it bock in the queue to be re-read and re-processed.

o HOLD - Some error occurred; put it bock in the queue inactive to be examined later by the administrative user (AU).

If INPUT is not specified, the OUTPUT option operates only on the lost message written through this DCB.

JOURNALED

=

IYESINOI indicates, if RERUN is specified, whether (YES) or not (NO), the input message is to be released for processing because it has been journaled. If JOURNALED is YES then the message will go to its original intended destination. If NO, the message wil I be requeued for the journal station.

JOURNALED is only meaningful when MSUNLATCH is being issued by the comgroup journal station.

The default is NO.

OUTPUT - OPTION specifies the action to be token with respect to output(s) latched to this DCB. If the INPUT option is specified, the OUTPUT option refers to 01 I outputs latched to the input. Otherwise it refers to the lost message written through this DCB.

The options are:

o DELETE - An error occurred, delete the output(s).

o SEND - Everything ok, send the output(s) to destination.

The default is DELETE.

TELLAU - IYESINOf specifies whether or not to send a special unlatch message to the administrative user of the comgroup. If this option is specified then it is always honored. If not specified then the default depends on the type of unlatch being performed. For HOLD the default is YES otherwise the default is NO.

NOTE: The administrative user (AU) can choose to not receive any such messages by specifying UN~ - NO in VLP_CGCP on M$CGCTL.

TELLOS - IYESINOI specifies whether or not to send a response message to the station which originated the message being unlatched. This message will have message type

'.RESPX· and no content. For HOLD the default is YES otherwise the default is NO.

3-186 MSUNLATCH - Unlatch Comgroup Messages CE74-88

The VLP_CGCP macro creates an area containing the control parameters for a comgroup.

AUCONOCB - OPTION specifies the action to be taken for all connected DCBs when the AU connects. The applicable options are NC, ACTIVATE and DEACTIVATE which are described under AUCONTERM. If DISCONNECT is specified, it is treated like DEACTIVATE. The default is NC.

AUCONTERM = OPTION specifies the action to be taken for al I connected terminals when the AU connects.

ACTIVATE Activate al I connected terminals that are not already activated.

DEACTIVATE Deactivate all terminals that are currently activated.

DISCONNECT Disconnect 01 I connected terminals.

NC No change - leave in current state.

The default is NC.

AUDCONDCB = OPTION specifies the action to be token for 01 I connected DeBs when the AU disconnects. The appl icable options are NC, ACTIVATE and DEACTIVATE which are described under AUCONTERM. If DISCONNECT is specified, it is treated like DEACTIVATE. The

default is NC.

AUDCONTERM

=

OPTION specifies the action to be token for 01 I connected terminals when the AU disconnects. The applicable options are described under AUCONTERM. The default is NC.

AUTORCVR - IYESINOI establishes the default AUTORCVR value for queue nodes not established by M$CGCTL. (See LIST.AUTORCVR in VLP_CGQL.) The default is YES.

BIGMXT - IYESINOI indicates whether (YES) or not (NO), message ID extensions are to take the 'lorge' form. BIGMXT - YES is used in a comgroup wherein DCB stations need to latch more that 62 output messages to a single input message, or more that 6 levels of

spawning of input messages are required. Refer to the discussion of MSGID and MSGIDXT in VLP_STATION. The default is NO.

BIN

=

IYESINOI BIN

=

YES specifies that the data is to be read as a string of bits rather than one character per 9-bit byte. The FPT field nome for this parameter is VLP_CGCP.DVBYTE.BINI. The default is NO.

CARRYOSTA - IYESINOI. YES specifies that the origin station of the current latched read be used as the origin station for 01 I latched DCB writes into the anonymous queue. The contribution to priority by a station comes from the current latched read also.

CARRYOSTA - NO specifies that the origin station name and the station's contribution to priority come from the current writer's station. The default is NO.

CONMSG - IYESINOI CONMSG = YES indicates that the administrative user (AU) is to receive messages when stations connect and disconnect.

When an AU joins a comgroup in which CONMSG is YES, a series of connect event messages is generated and sent to him, one for each station that is currently connected.

Note that if CONMSG is NO, and is set to YES via M$CGCTL, such a series of messages is not generated when the MSCGCTL is issued.

If CONMSG is NO, then DSCREQ and DCBCONWA are forced to NO.

The default is YES.

CE74-00 3-107

DATAPGS

=

VALUE-DEC(1-99) is the percent of physical memory pages (MAXPG,MINPG) that are to be 01 located to the data cache. The range of values that can be produced for the maximum on data pages is 2 through MAXPG-1. Simi larly. the range of values that can be produced for the minimum on data pages is 0 through MAXPG-1. The default is 50.

DCBCONAU = IYESINOI DCBCONAU

=

YES indicates that DCBs are to be activated upon connection if the AU is connected. The default is YES.

DCBCONLGL

=

IYESINOI specifies whether or not DCBs are 01 lowed to open to this comgroup.

If NO, the AU wi II be exempted from this restriction. The default is YES.

DCBCONNAU

=

IYESINOI DCBCONNAU

=

YES indicates that DCBs are to be activated upon connection if the AU is not connected. The default is YES.

DCBCONWA = IYESINOI indicates whether (YES) or not (NO), DCB stations are to wait for activation upon joining the comgroup.

If YES, then the M$OPEN process involves waiting for the AU to read the DCB connect event message and respond with M$ACTIVATE or M$DEACTIVATE. If the response is ACTIVATE, then the M$OPEN proceeds and the DCB station joins the comgroup.

If the response is DEACTIVATE, then the M$OPEN fai Is with an appropriate error. Thus from the point of the user the M$OPEN has fai led; from the point of the comgroup, however, the DCB station joins the comgroup and then immediately disconnects. This means that the AU will see the DCB connect, respond by deactivating the station, and then see the DCB disconnect.

DCBCONWA = YES is used by on AU who wishes to to be able to prevent DCBs from opening to his comgroup. It is also used to prevent user programs from opening to the comgroup and receiving the 'deactivated' error when they read or write before the AU can respond to the DCB open message.

DCBCONWA is only meaningful when DCBCONAU is NO, and is only acted upon when the AU is connected to the comgroup. In particular, a user awaiting AU response as a result of DCBCONWA being YES wil I proceed with his M$OPEN if the AU disconnects from the comgroup.

This works as fol lows. If AUDCONDCB is ACTIVATE or NC, the M$OPEN succeeds; if AUDCONDCB is DEACTIVATE, the M$OPEN fai Is just as though the AU hod M$DEACTIVATEd the station.

Note that the wait in M$OPEN is terminated by ANY activation or deactivation. In particular, then, if the comgroup becomes ful I, the automatic deactivation that results will terminate the MSOPEN abnormally.

The wait in MSOPEN is bypassed under any of the fol lowing circumstances:

o The DCB is being opened by the user who owns the AU DCB. In this case the joining station will NOT be activated (since the AU is present and DC BCONAU, the relevant parameter, is NO).

o The DCB is being opened by the system JOURNAL ghost job, under the station name specified in JRNLSTA (see FPT_CGCTL). In this case the joining station will be activated unconditionally.

DCBCONWA is forced NO if CONMSG is NO.

The default is NO.

DEFERBLKS

=

VALUE-DEC(5-200) is the number of defer blocks to allocate. Defer blocks are required when messages not in memory are needed. The number of blocks required depends on the comgroup activity level. Statistics available to the AU will reveal whether the number supplied is too small or too large. The minimum number is 5, and the maximum is 200. The default is 20.

DISKWARN = VALUE-DEC(0-18000) appl ies when the number of free granules in the comgroup file falls below this value. The AU wil I receive a warning message when this occurs.

(See CG_WARN under EQU_CG) The default is 0 (no message ever).

3-108 CE74-00

DMTYP

=

VALUE-CHAR(8) is the default message type for messages written from DCBs.

DRML - IYESINOI indicates whether (YES) or not (NO) DCB stations will most often read their own message queues with LATCH. The value given to DRML affects the way in which the comgroup processes read and write operations in order to produce minimum overhead.

Note that if all or most DCB stations read with DIRONLY - NO (see VLP_STATION), then DRML and QRML should be set identically. The default is NO.

DSCREO = IYESINOI indicates whether (YES) or not (NO), disconnecting TERMINAL stations are to request permission to do so from the AU.

When DSCREO is NO, a disconnecting TERMINAL simply sends the ~CG_TDSCI message to the AU and disconnects. Since this disconnection is asynchronous with respect to the

disconnect message being del ivered to the AU, another (or perhaps the same) TERMINAL can join the comgroup under the same station name before the AU is aware of the disconnect.

Thus, the AU can never be sure, for example, what particular incarnation of a given station name wil I be affected by, say, an M$ACTIVATE.

If necessary, this type of protlem can be el iminated by specifying DSCREO as YES. When this is done, TERMINAL stations wishing to disconnect send a ~~G_TDRO (disconnect request) event message to the AU and then wait for him to respond with M$DEACTIVATE DSCGO. Whi 1st such a station is waiting, any attempt to M$ACTIVATE it will produce a

'disconnected' error, as wil I an M$DEACTIVATE that does not specify DSCGO. Furthermore, the station is treated as absent if it is being written to. When the M$DEACTIVATE DSCGO is done, the station disconnects and the normal ~CG_TDSC event message is sent to the AU.

If the AU disconnects from the comgroup, then all waiting TERMINAL stations are al lowed to disconnect automatically.

DSCREO is forced NO if CONMSG is NO.

The default is NO.

DVBYTE is a collection of bits controlling the manner in which TERMINALs are read. That is, they supply parameters control I ing the way in which TERMINALs supply data to the comgroup. Each bit is specified separately.

INPUT = IYESINOI specifies whether or not terminals connected to this comgroup are capable of inputting data to the comgroup (i .e., generating messages). The default is YES.

JOURNAL - IYESINOI indicates whether (YES) or not (NO) journaling is to be performed in the comgroup. If NO, then this overrides the presence of JRNLSTA and a JRNLFID. If YES, then the comgroup must possess a JRNLSTA (see FPT_CGCTL).

If the comgroup is being journaled by the system JOURNAL GHOST (see GHSTACS in M$DCB) , then the ghost is informed whenever the value of JOURNAL is changed.

The default is NO.

MAXMC - VALUE-DEC(0-2048) specifies maximum byte count permitted for a single write into the comgroup. The default is 1024.

MAXPG

=

VALUE-DEC(3-1000) is the maximum number of memory pages to use. The default is 10.

M8MWARN

=

VALUE-DEC (0-18000) specifies the level at which a warning message wil I be issued to the AU (see CG_WARNI in EQU_CG).

When the comgroup is acquiring more memory in order to meet demond, the AU may wish to know if the amount of memory currently in use is approaching the maximum possible. Note that this maximum is derived from the interaction between MAXPG and DATAPGS.

M8MWARN establishes the value for maximum minus current at which the warning wil I be issued.

CE74-00 3-109

If ~EMWARNP is NO. then 'current' is construed to mean al I context memory. This non-spillable context reaches the ~EMWARN limit.

The default for ~EMWARN is zero (no warning wi I I ever be issued).

REREAD - IYESINOI REREAD - YES specifies that the previous input line is to be echoed and set to be the current input I ine. The FPT field na.e for this parameter is VLP_CGCP.DVBYTE.REREADI. The default is NO.

SECURE = IYESINOI specifies the mode of operation with respect to guarantee of message delivery. If YES, the specifications for SMD and WAS are overridden and set to YES, and messages read by TERMINALs are not deleted unti I the entire message has been output.

This has the effect of ensuring del ivery of any message which has been successfully written into the comgroup, and is destined for a TERMINAL. Note that this does not apply to messages read by DCBs, but that a simi lar mode of operation may be enforced by supplying a VLP_SETSTA on M$CGCTL that has LATCH=YES, thus forcing al I DCBs to read with LATCH and ensuring message delivery.

SECURE = NO permits TERMINAL-directed messages to be deleted after the message has been delivered but (possibly) before it has actually been output, and has no effect on SMD or WAS.

The default is NO.

SMD

=

IYESINOI If YES, messages written to a station wil I be saved when it disconnects, to be passed to it when it reconnects. If NO, such messages are deleted upon

disconnect. NO forces WAS to NO also (see SECURE, also). The default is NO.

STAPRIO z VALUE-DEC(1-500) is the default value for the part of message priority that comes from the origin station. The default is 1.

TERMCONAU - IYESINOI TERMCONAU

=

YES indicates that terminals are to be activated upon connection if the AU is connected. The default is YES.

TERMCONLGL

=

IYESINOI specifies whether or not terminals are al lowed to connect to this comgroup. If NO, this will prevent connection despite the system manager having

authorized logons which specify connection to this comgroup. The default is YES.

TERMCONNAU

=

IYESINOI TERMCONNAU

=

YES indicates that terminals are to be activated upon connection if the AU is not connected. The default is YES.

TMTYP - VALUE-CHAR(8) is the default message type for messages written from terminals.

TRANS

=

IYESINOI TRANS

=

YES specifies transparency, (i.e., that data is to be read without translation). This option is useful primarily for devices which normally

perform translation (for instance, asynchronous terminals). The FPT field name for this parameter is VLP_CGCP.DVBYTE.TRANSI. The default is NO.

TRMRDSIZ - VALUE-DEC(l-MAXMC) specifies the size of the reads done to terminals by the comgroup. TRMRDSIZ thus specifies the largest message that can be input from a terminal and the point at which asynchronous terminals wil I activate on byte count.

The minimum is 1; the maximum is the value specified for MAXMC. The default is 140.

TYPPRIO - VALUE-DEC(1-500) is the default value for the part of message priority that comes from the message type. The default is 1.

UNLAMSG - IYESINOI specifies whether or not the AU wishes to receive messages

automatically generated by UNLATCH. (See M$UNLATCH). If NO, such messages wil I not be generated. The default is YES.

WAS - IYESINOI WAS - YES specifies that writing to an absent or deactivated station is legal. If NO, such action is an error (see SUD and SECURE, alSO). The default is NO.

WRITETIWE - VALUE-DEC(0-511) specifies the time in minutes that data pages are to be al lowed to remain in memory without being written to disk. The default is zero, which

indicates that data pages are never to be written for this reason.

CE74-00 3-111

XSTALGL

=

IYESINOI indicates whether (YES) or not (NO) any station nome is legal within the comgroup. This appl ies to joining the comgroup, and writing to specific stations.

If YES, then DCBs and TERMINALs may join the comgroup under any name they chose, which may require the comgroup to bui Id a new node in the station tree when the join tokes place. Also, stations may write to any station they chose, which, if the destination station is not already represented in the station tree, requires bui Iding a new node.

If XSTALGL is NO, then one may only join under, or write to, a station nome which is already present in the tree. XSTALGL = NO is usually used in conjunction with the STAFC

=

SETLIST option of M$CGCTL, which defines the exact I ist of legal station names, and inserts them in the station tree. See also PERM in VLP_CGSTAL.

The default is YES.

XTYPLGL

=

IYESINOI indicates whether (YES) or not (NO) any message type is legal within the comgroup. This appl ies to write operations, and also to reading with a specific message type. If YES, then stations may write messages with any type they chose, which,

if the type is not already represented in the message type tree, requires bui Iding and entering a new node. If XTYPLGL is NO, then one may only write a message with a type which is already present in the tree. XTYPLGL = NO is usually used in conjunction with the TYPFC = SETLIST option of M$CGCTL, which defines the exact list of legal message types, and inserts them in the message type tree. See also PERM in VLP_CGTYPL.

The default is YES.

The VLP_CGQL macro generates on area for use with the M$CGCTL and M$CGINFO services. It generates an array of parameters and statistics, with one entry for each anonymous queue node. The array is parol lei to the array in VLP_CGSTAL or VLP_CGTYPL, depending upon how the queue is keyed. AI I items are returned by the M$CGINFO service whi Ie some can be provided to the M$CGCTL service. These are distinguished by the fact that they have default values.

Note that if more than one queue node is being generated to be suppl ied to M$CGCTL, then in general the values for the different queue nooe5 must be assigned at execution time.

This is because when the macro is invoked at compile time, only one value may be specified for the various attributes. The values specified for the various attributes wil I initial ize ALL the array elements, thus at least providing 'default' values.

LIST is the array of queue nodes.

LIST.AUTORCVR = IYESINOI selects the action to be token when messages from this queue node are active (LATCHed) at the time of a system recovery. YES requests that an

LIST.AUTORCVR = IYESINOI selects the action to be token when messages from this queue node are active (LATCHed) at the time of a system recovery. YES requests that an

Dans le document SOfTWARE HOST (Page 136-146)