Class UploadChannelProps
- All Implemented Interfaces:
EventListener, IGProp<GProp<?>[]>, IPropCnr, Cloneable
$env that carries the upload calls between the client's FileUploader and the server's upload service (FILE-UPLOAD-DESIGN.md section 1.2, amended 2026-09-25: ruling row 10 of 2026-09-24 moved the JS sender from the component to the client session; built by CC-UPLOAD-A step A1).Created by the client, as PushChannelProps is: iz/EnvProps.js adds it to $env when iz/upload/UploadChannelProps.js is loaded, which the application, Design Viewer and Designer pages do and the VSViewer does not, so that its absence means "this session cannot upload". The server never predefines it, so EnvProps.onRemoteRootCreated() never makes it private. of(EnvProps) finds it. The server side of the channel - the link to the application session's upload service - is a UploadChannelProps.IHandler installed by com.iizix.server when the client session is created; without one, a reservation is refused disabled.
Calls are remote events, the ids of the design's section 1.2, repeated as literals with a comment in iz/upload/UploadChannelProps.js. Client to server: REMOTE_RESERVE (1), REMOTE_CANCEL (3) and REMOTE_STATE (7). Server to client: REMOTE_RESERVED (2), REMOTE_FILE_DONE (4), REMOTE_FILE_FAILED (5), REMOTE_CANCELLED (6), REMOTE_PAUSED (8) and REMOTE_RESUMED (9). Every switch is on getLocalID(): a remote event's getEventID() is always GEvent.REMOTE. A reservation request carries the client's sequence number P_SEQ and is answered by a RESERVED carrying it back.
A request is an UploadRequest (CC-UPLOAD-U1): decodeRequest(PropCnr) builds it from the parameters of a client's remote event - this channel's RESERVE, or the request event of a component, whose payload is the same - and nothing else can build one. encodeReserve(int, List, boolean, String) is the encoder, the counterpart of the client's. A RESERVE sent directly on this channel is reserved only when the App opened the direct route (IClientUploadAPI.setDirectReserve); otherwise it is answered refused REASON_DENIED.
Threads. A client event arrives on the client session's worker and the handler is called there, at once. The send methods may be called on any thread - the App's worker for a listener callback, a timer's for a cancellation - since the flush to the client is posted to the session's worker by the property chain, as for every change under the root.
- Author:
- Christopher Mindus
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceThe server side of the channel: what the client's calls are handed to.Field Summary
FieldsModifier and TypeFieldDescriptionstatic final AtomThe atom of the channel under$env.static final StringThe atom name of the channel under$env: "UploadChannel", named by its class asPushChannel,FlashandNativeSettingare.static final intThe longestP_TYPESa request may carry, in characters: 1024.static final StringThe chunk size member "chunk", an int in bytes.static final StringThe compression member "comp", a string:gzipornone.static final StringThe file count member "n" of a reservation, an int.static final StringThe file index member "fid", an int, -1 for every file where allowed.static final StringThe per-file container name prefix "f":f0,f1, ...static final StringThe named group member "group", a string, may be empty.static final StringThe idle timeout member "idle", an int in seconds.static final StringThe remaining allowance member "maxBytes", a long in bytes.static final StringThe maximum files per reservation member "maxFiles", an int.static final StringThe maximum pause member "maxPause", an int in seconds (row 13).static final StringThe last-modified member "mod", a long in milliseconds, 0 if unknown.static final StringThe client file name member "name", a string, metadata only.static final StringThe automatic failure notice switch member "notices", a boolean, default on (row 20).static final StringThe success member "ok", a boolean.static final StringThe relative upload path member "path", a string ending with a slash.static final StringThe reason member "reason", a string.static final StringThe reservation ID member "rid", a string.static final StringThe per-file secret member "secret", a string, the bearer credential of the HTTPS leg.static final StringThe client's sequence number member "seq", an int, on a reservation and its answer.static final StringThe uncompressed size member "size", a long.static final Stringstatic final StringThe declared MIME type member "type", a string.static final StringThe types member "types", a string, empty for any: on the answer the permitted types of the server, on a request the types the requester accepts, in the syntax of the HTMLacceptattribute.static final StringThe verified type member "vtype", a string, empty when none was established.static final StringThe refusal reason "denied" answered to a request nothing allowed: a directRESERVEwhile the App has not opened the direct route (ruling UD-6), or a request an App refused without a reason of its own.static final StringThe refusal reason "disabled" answered when no server side is installed.static final StringThe refusal reason "error" answered when the service failed unexpectedly.static final StringThe refusal reason "protocol" answered to a request the channel cannot read.static final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intServer to client 2:RESERVED, the answer toREMOTE_RESERVE, withP_SEQechoed,P_OK,P_REASONwhen not ok, and when okP_RID,P_PATH(relative,/iizi-upload/),P_CHUNK,P_MAX_BYTES,P_MAX_FILES,P_TYPES,P_IDLE,P_MAX_PAUSE,P_NOTICESand oneP_FILE<i>container per file withP_OK,P_REASON,P_SECRETandP_COMP.static final intstatic final intClient to server 7:STATE, the client's own pause or resume of a file (rows 11 and 13 of 2026-09-24), withP_RID,P_FID(-1 for every file),P_STATE(STATE_PAUSEDorSTATE_RESUMED) and, for a pause,P_REASON.static final StringTheP_STATEvalue "paused".static final StringTheP_STATEvalue "resumed".Fields inherited from class PropCnr
EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_IDFields inherited from class GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_ATTR_STRING_SECRET, PROP_USER_1, PROP_USER_2Fields inherited from interface IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_INCLUDE_PRIVATE, EQC_SAVE_FILE, EQC_SAVE_RELEVANT_ONLY, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATEConstructor Summary
ConstructorsConstructorDescriptionCreates the channel without a name.UploadChannelProps(Atom atom) Creates the channel with a name.Method Summary
Modifier and TypeMethodDescriptionclone()Clones the channel: the handler is not cloned.static UploadRequestdecodeRequest(PropCnr params) Decodes a direct reservation request; seedecodeRequest(PropCnr,GProp).static UploadRequestdecodeRequest(PropCnr params, GProp<?> source) Decodes a client's reservation request from the parameters of its remote event: this channel'sREMOTE_RESERVE, or the request event of a component, whose payload the client builds with the same encoder.static PropCnrencodeReserve(int seq, List<UploadFileRequest> files, boolean notices, String types) Encodes a reservation request as the client does: the counterpart of the client'sUploadChannelProps.encodeReserveiniz/upload/UploadChannelProps.js, member for member, so that what one side writes the other reads.Gets the installed server side.static UploadChannelPropsFinds the channel of a session.protected voidCalled when the channel is disposed of, with its root: the server side is removed.voidonRemoteEvent(RemoteEvent event) Called when a remote property event should be processed by this property: the client's reservation request, cancel and state notice are decoded and handed to the installedUploadChannelProps.IHandler.booleansendCancelled(String reservationID, int fileIndex, String reason) Tells the client a file was cancelled by the server side:REMOTE_CANCELLED.booleansendFileDone(String reservationID, int fileIndex, String verifiedType, long size) Tells the client a file is verified and the App has it:REMOTE_FILE_DONE.booleansendFileFailed(String reservationID, int fileIndex, String reason) Tells the client a file failed:REMOTE_FILE_FAILED.booleansendPaused(String reservationID, int fileIndex, String reason) Tells the client the App paused a file:REMOTE_PAUSED.booleansendRefused(int seq, String reason) Answers a reservation request refused as a whole, without a reservation: the handler's answer when the service could not be asked at all.booleansendReserved(int seq, IUploadReservation reservation) Answers a reservation request:REMOTE_RESERVEDbuilt from the reservation the service minted, accepted or refused.booleansendResumed(String reservationID, int fileIndex) Tells the client the App no longer holds a file:REMOTE_RESUMED.voidsetHandler(UploadChannelProps.IHandler handler) Installs the server side of the channel, or removes it.protected booleanshouldSerializeToXML(int programType) The channel is never written to XML.Methods inherited from class PropCnr
__transferChildProps, addPredefinedProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, convertLoadedProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, enablePropCommunication, enablePropHashMap, equalsTree, equalsTree, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getPredefinedProps, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializePropTree, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isPropValueTreeLockNeeded, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropRemoved, onPropTreeInitialized, onReferenceEvent, onVirtualContainerCreated, onVirtualizationCompleted, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocus, requestFocusEx, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verify, verifyInternalUseOnly, verifyTree, virtualizeMethods inherited from class GProp
addPropError, addPropListener, appendProp, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getReferencePropNameNoAssert, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParentNoAssert, getTreeLock, hasChanged, hasCircularReferencesError, hashCode, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropErrorPersisted, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropForEditorAtCreation, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropRootLoading, isPropRootTreeModificationsAllowed, isPropSaveRelevant, isPropSecret, isPropSecretCapable, isPropUSER, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, isSibling, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onEventSelf, onInitialize, onPrepare, onPropInvalidateCache, onPropParentChanged, onPropValueSet, paramString, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropSecret, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, throwIfReadOnly, toNativeValue, toShortString, toShortString, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warningMethods inherited from interface IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getClientSessionGyro, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getRelativePropName, getRootParent, getTreeLock, hasChanged, hasCircularReferencesError, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, isSibling, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onEventSelf, removePropError, removePropListener, renameProp, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warningMethods inherited from interface IPropCnr
canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized
Field Details
ATOM_NAME
The atom name of the channel under$env: "UploadChannel", named by its class asPushChannel,FlashandNativeSettingare.- See Also:
ATOM
The atom of the channel under$env.REMOTE_RESERVE
REMOTE_CANCEL
REMOTE_STATE
public static final int REMOTE_STATEClient to server 7:STATE, the client's own pause or resume of a file (rows 11 and 13 of 2026-09-24), withP_RID,P_FID(-1 for every file),P_STATE(STATE_PAUSEDorSTATE_RESUMED) and, for a pause,P_REASON.- See Also:
REMOTE_RESERVED
public static final int REMOTE_RESERVEDServer to client 2:RESERVED, the answer toREMOTE_RESERVE, withP_SEQechoed,P_OK,P_REASONwhen not ok, and when okP_RID,P_PATH(relative,/iizi-upload/),P_CHUNK,P_MAX_BYTES,P_MAX_FILES,P_TYPES,P_IDLE,P_MAX_PAUSE,P_NOTICESand oneP_FILE<i>container per file withP_OK,P_REASON,P_SECRETandP_COMP.- See Also:
REMOTE_FILE_DONE
REMOTE_FILE_FAILED
REMOTE_CANCELLED
REMOTE_PAUSED
REMOTE_RESUMED
P_SEQ
The client's sequence number member "seq", an int, on a reservation and its answer.- See Also:
P_COUNT
P_NOTICES
The automatic failure notice switch member "notices", a boolean, default on (row 20).- See Also:
P_FILE
P_NAME
The client file name member "name", a string, metadata only.- See Also:
P_TYPE
P_SIZE
P_MOD
The last-modified member "mod", a long in milliseconds, 0 if unknown.- See Also:
P_COMP
P_GROUP
P_OK
P_REASON
P_RID
P_FID
The file index member "fid", an int, -1 for every file where allowed.- See Also:
P_PATH
The relative upload path member "path", a string ending with a slash.- See Also:
P_CHUNK
P_MAX_BYTES
The remaining allowance member "maxBytes", a long in bytes.- See Also:
P_MAX_FILES
The maximum files per reservation member "maxFiles", an int.- See Also:
P_TYPES
The types member "types", a string, empty for any: on the answer the permitted types of the server, on a request the types the requester accepts, in the syntax of the HTMLacceptattribute.- See Also:
P_IDLE
P_MAX_PAUSE
The maximum pause member "maxPause", an int in seconds (row 13).- See Also:
P_SECRET
The per-file secret member "secret", a string, the bearer credential of the HTTPS leg.- See Also:
P_VTYPE
The verified type member "vtype", a string, empty when none was established.- See Also:
P_STATE
- See Also:
STATE_PAUSED
STATE_RESUMED
REASON_DISABLED
The refusal reason "disabled" answered when no server side is installed.- See Also:
REASON_PROTOCOL
The refusal reason "protocol" answered to a request the channel cannot read.- See Also:
REASON_ERROR
The refusal reason "error" answered when the service failed unexpectedly.- See Also:
REASON_DENIED
The refusal reason "denied" answered to a request nothing allowed: a directRESERVEwhile the App has not opened the direct route (ruling UD-6), or a request an App refused without a reason of its own.- See Also:
MAX_TYPES_LENGTH
public static final int MAX_TYPES_LENGTHThe longestP_TYPESa request may carry, in characters: 1024.- See Also:
Constructor Details
UploadChannelProps
public UploadChannelProps()Creates the channel without a name.UploadChannelProps
Method Details
clone
Clones the channel: the handler is not cloned.shouldSerializeToXML
protected boolean shouldSerializeToXML(int programType) The channel is never written to XML.- Overrides:
shouldSerializeToXMLin classGProp<GProp<?>[]>- Parameters:
programType- FromPropFactory.getProgramType().- Returns:
- false.
of
Finds the channel of a session.- Parameters:
env- The session's environment properties, or null.- Returns:
- The channel the client created under
$env, or null when the session has none: a VSViewer session, or a client built before A1.
setHandler
Installs the server side of the channel, or removes it.- Parameters:
handler- The handler, or null for none.
getHandler
Gets the installed server side.- Returns:
- The handler, or null for none.
sendReserved
Answers a reservation request:REMOTE_RESERVEDbuilt from the reservation the service minted, accepted or refused.- Parameters:
seq- The client's sequence number.reservation- The reservation.- Returns:
- true when sent, false when the channel is disposed of.
- Throws:
NullPointerException- If the reservation is null.
sendFileDone
Tells the client a file is verified and the App has it:REMOTE_FILE_DONE.- Parameters:
reservationID- The reservation ID.fileIndex- The file index.verifiedType- The verified type, or null or empty for none.size- The size as measured, in bytes.- Returns:
- true when sent, false when the channel is disposed of.
sendFileFailed
Tells the client a file failed:REMOTE_FILE_FAILED.- Parameters:
reservationID- The reservation ID.fileIndex- The file index.reason- The reason, never null.- Returns:
- true when sent, false when the channel is disposed of.
sendCancelled
Tells the client a file was cancelled by the server side:REMOTE_CANCELLED.- Parameters:
reservationID- The reservation ID.fileIndex- The file index.reason- The reason, never null.- Returns:
- true when sent, false when the channel is disposed of.
sendPaused
Tells the client the App paused a file:REMOTE_PAUSED.- Parameters:
reservationID- The reservation ID.fileIndex- The file index.reason- The App's reason, never null.- Returns:
- true when sent, false when the channel is disposed of.
sendResumed
Tells the client the App no longer holds a file:REMOTE_RESUMED.- Parameters:
reservationID- The reservation ID.fileIndex- The file index.- Returns:
- true when sent, false when the channel is disposed of.
onRemoteEvent
Called when a remote property event should be processed by this property: the client's reservation request, cancel and state notice are decoded and handed to the installedUploadChannelProps.IHandler. Switches ongetLocalID(), never ongetEventID().A reservation request with no handler installed is answered refused
REASON_DISABLED; one the channel cannot read is answered refusedREASON_PROTOCOLand logged, so the client never waits for an answer that will not come.- Specified by:
onRemoteEventin interfaceIGProp<GProp<?>[]>- Overrides:
onRemoteEventin classGProp<GProp<?>[]>- Parameters:
event- The remote event.
decodeRequest
Decodes a direct reservation request; seedecodeRequest(PropCnr,GProp).- Parameters:
params- The parameters of the client's remote event.- Returns:
- The request, with no source, not yet answered.
- Throws:
IllegalArgumentException- If the request is malformed.
decodeRequest
Decodes a client's reservation request from the parameters of its remote event: this channel'sREMOTE_RESERVE, or the request event of a component, whose payload the client builds with the same encoder. This is the only way to anUploadRequest.- Parameters:
params- The parameters of the client's remote event.source- The property the event came in on - the requesting component - or null for a directRESERVEon the channel.- Returns:
- The request, not yet answered.
- Throws:
IllegalArgumentException- If the request is malformed: no parameters, no file, a missing file container, a file the service would not take as declared (an empty name, a negative size, an unknown compression), or types longer thanMAX_TYPES_LENGTH.
encodeReserve
public static PropCnr encodeReserve(int seq, List<UploadFileRequest> files, boolean notices, String types) Encodes a reservation request as the client does: the counterpart of the client'sUploadChannelProps.encodeReserveiniz/upload/UploadChannelProps.js, member for member, so that what one side writes the other reads.decodeRequest(PropCnr)reads the result back.- Parameters:
seq- The sequence number.files- The files, in order.notices- The automatic failure notice switch.types- The types the requester accepts, null or empty for none: the member is then left out, as the client leaves it out.- Returns:
- The parameters of a
REMOTE_RESERVE. - Throws:
NullPointerException- If the files are null.
sendRefused
Answers a reservation request refused as a whole, without a reservation: the handler's answer when the service could not be asked at all.- Parameters:
seq- The client's sequence number.reason- The refusal reason, e.g.REASON_ERROR.- Returns:
- true when sent, false when the channel is disposed of.
onPropDispose
protected void onPropDispose()Called when the channel is disposed of, with its root: the server side is removed.- Overrides:
onPropDisposein classPropCnr