This is a definition of a negotiation record as described in the Model for Z39.50 Negotiation During Initialization. This definition conforms to that model; the rules listed in the model, particularly those rules listed in section 3, apply to this definition.
Negotiation of these parameters is not a pre-requisite for extended services. It is envisaged that it will be employed when the origin has specific limits that it needs to convey to the target. When size limitations have not been negotiated, the target can use diagnostics 1048, 1049, 1050, 1052 and 1053 to indicate failures due to size errors, using addInfo to indicate maximum acceptable sizes.
All three parameters are optional. When a parameter is omitted by the origin, the origin is not proposing to negotiate a value for that parameter (though the target may nevertheless supply a value for that parameter in the response). When a parameter is omitted by the target, no negotiation has occurred for that parameter.
NegotiationRecordDefinition-NegotiateEsSizes {Z39-50-negotiationRecordDefinition NegotiateEsSizes (2)} DEFINITIONS ::= BEGIN NegotiateEsSizes ::= SEQUENCE{ maxMsgSize [1] IMPLICIT INTEGER OPTIONAL, maxTaskPackageSize [2] IMPLICIT INTEGER OPTIONAL, maxRecordSize [3] IMPLICIT INTEGER OPTIONAL} END