;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311!\"\210\306\312\313\311!\"\210\306\314\312\"\210\315\314\316\317#\210\320\311\321\312#\322\311\323\324\325$\207" [require warnings eieio xml rudel-xml rudel-infinote-group defalias rudel-infinote-directory-state-new-p eieio-make-class-predicate rudel-infinote-directory-state-new rudel-infinote-directory-state-new--eieio-childp eieio-make-child-predicate rudel-infinote-directory-state-new-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-directory-state-new) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group-state) ((sequence-number :initarg :sequence-number :type (integer 0) :documentation "The sequence number the server reserved for\nthis exchange.") (plugins :initarg :plugins :type list :initform nil :documentation "The list of plugins is stored here\ntemporarily after receiving it from the server.")) (:documentation "New state of the directory group.\nInitial state of the state machine of the infinote directory\ngroup.")] 6) #@91 Create a new object of class type `rudel-infinote-directory-state-new'. (fn &rest SLOTS) (defalias 'rudel-infinote-directory-state-new #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-directory-state-new] 5 (#$ . 1504)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-directory-state-new compiler-macro rudel-infinote-directory-state-new--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-directory-state-new--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 1901)]) (byte-code "\300\301\302\303\302\304%\210\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\302\323$\207" [cl-generic-define-method rudel-infinote/welcome nil ((this rudel-infinote-directory-state-new) xml) #[514 "\211\300\301\"\206\f\302\266\202\211\205\303!\262\304\305#\266\304\306\307\310\311\n\312\"@\211AA\262\"#\266\313\207" [sequence-id xml-get-attribute-or-nil #1="" string-to-number eieio-oset sequence-number plugins mapcar #[257 "\211\300\301\"\206\n\302\207" [type xml-get-attribute-or-nil #1#] 6 "\n\n(fn PLUGIN)"] xml-get-children note-plugins idle] 14 "Handle infinote welcome message.\n\n(fn THIS XML)"] defalias rudel-infinote-directory-state-idle-p eieio-make-class-predicate rudel-infinote-directory-state-idle rudel-infinote-directory-state-idle--eieio-childp eieio-make-child-predicate rudel-infinote-directory-state-idle-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-directory-state-idle) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group-state) (:documentation "Idle state of the directory group.")] 6) #@92 Create a new object of class type `rudel-infinote-directory-state-idle'. (fn &rest SLOTS) (defalias 'rudel-infinote-directory-state-idle #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-directory-state-idle] 5 (#$ . 3332)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-directory-state-idle compiler-macro rudel-infinote-directory-state-idle--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-directory-state-idle--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 3734)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\313\314\315\316!\"\210\313\317\320\316!\"\210\313\321\317\"\210\322\321\323\324#\210\325\316\326\317#\327\316\330\331\332$\207" [cl-generic-define-method rudel-infinote/add-node nil ((this rudel-infinote-directory-state-idle) xml) #[514 "\211\300\301\"\206\f\302\266\202\211\205\303!\262\304\301\"\206!\302\266\202\211\205*\303!\262\305\301\"\2066\302\266\202\306\301\"\206B\302\266\202\307\310\311\"%\266\312\207" [id xml-get-attribute-or-nil #1="" string-to-number parent name type rudel-add-node slot-value group nil] 14 "\n\n(fn THIS XML)"] rudel-infinote/remove-node ((_this rudel-infinote-directory-state-idle) _xml) #[514 "\300\207" [nil] 3 "\n\n(fn THIS XML)"] rudel-infinote/sync-in ((_this rudel-infinote-directory-state-idle) _xml) #[514 "\300\207" [nil] 3 "\n\n(fn THIS XML)"] defalias rudel-infinote-directory-state-exploring-p eieio-make-class-predicate rudel-infinote-directory-state-exploring rudel-infinote-directory-state-exploring--eieio-childp eieio-make-child-predicate rudel-infinote-directory-state-exploring-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-directory-state-exploring) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group-state) ((remaining-messages :initarg :remaining-messages :type (integer 0) :documentation #1#)) (:documentation "Directory group state entered when the children of a node are\nexplored.")] 6) #@97 Create a new object of class type `rudel-infinote-directory-state-exploring'. (fn &rest SLOTS) (defalias 'rudel-infinote-directory-state-exploring #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-directory-state-exploring] 5 (#$ . 5532)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-directory-state-exploring compiler-macro rudel-infinote-directory-state-exploring--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-directory-state-exploring--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 5959)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\316\317\320\321!\"\210\316\322\323\321!\"\210\316\324\322\"\210\325\324\326\327#\210\330\321\331\322#\332\321\333\334\335$\207" [cl-generic-define-method rudel-enter nil ((this rudel-infinote-directory-state-exploring) id) #[514 "\300\301\302\303\304\"BCD\"\210\305\207" [rudel-send explore-node id format "%d" nil] 9 "\n\n(fn THIS ID)"] rudel-infinote/explore-begin ((this rudel-infinote-directory-state-exploring) xml) #[514 "\211\300\301\"\206\f\302\266\202\211\205\303!\262\304\305#\266\306\207" [total xml-get-attribute-or-nil #1="" string-to-number eieio-oset remaining-messages nil] 10 "\n\n(fn THIS XML)"] rudel-infinote/add-node ((this rudel-infinote-directory-state-exploring) xml) #[514 "\211\300\301\"\206\f\302\266\202\211\205\303!\262\304\301\"\206!\302\266\202\211\205*\303!\262\305\301\"\2066\302\266\202\306\301\"\206B\302\266\202\307\310\311\"%\266\211\312\313\310\313\"S#\266\314\207" [id xml-get-attribute-or-nil #1# string-to-number parent name type rudel-add-node slot-value group eieio-oset remaining-messages nil] 14 "\n\n(fn THIS XML)"] rudel-infinote/explore-end ((this rudel-infinote-directory-state-exploring) _xml) #[514 "\300\301\"\302U\204\303\304\305\306\300\301\"\"\307#\210\210\310\207" [slot-value remaining-messages 0 display-warning (rudel infinote) format "received 'explore-end' message when still expecting %d messages" :warning idle] 10 "\n\n(fn THIS XML)"] defalias rudel-infinote-directory-state-subscribing-p eieio-make-class-predicate rudel-infinote-directory-state-subscribing rudel-infinote-directory-state-subscribing--eieio-childp eieio-make-child-predicate rudel-infinote-directory-state-subscribing-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-directory-state-subscribing) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group-state) ((id :initarg :id :type (or null (integer 0)) :documentation "The id of the target node of the subscription.")) (:documentation "Directory group state entered when subscribing to a session.")] 6) #@99 Create a new object of class type `rudel-infinote-directory-state-subscribing'. (fn &rest SLOTS) (defalias 'rudel-infinote-directory-state-subscribing #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-directory-state-subscribing] 5 (#$ . 8446)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-directory-state-subscribing compiler-macro rudel-infinote-directory-state-subscribing--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-directory-state-subscribing--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 8883)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\207" [cl-generic-define-method rudel-enter nil ((this rudel-infinote-directory-state-subscribing) id) #[514 "\211\300\301#\266\302\303\304\305\306\307\301\"\"BCD\"\266\310\207" [eieio-oset :id rudel-send subscribe-session id format "%d" slot-value nil] 12 "Send 'subscribe-session' message and store ID in THIS for later.\n\n(fn THIS ID)"] rudel-infinote/subscribe-session ((this rudel-infinote-directory-state-subscribing) xml) #[514 "\211\300\301\"\206\f\302\266\202\303\301\"\206\302\266\202\304\301\"\206$\302\266\202\211\205-\305!\262\306\307\"U\204N\310\307\311#\266\312\313\314\315\306\n\307\"#\316#\210\317!\211\320>\204\\\321\322\"\210\323\306\n\307\"$\266\324\207" [group xml-get-attribute-or-nil "" method id string-to-number slot-value :id eieio-oset nil display-warning (rudel infinote) format "Did not request subscription to group %d (was expecting %d)" :warning intern-soft (central) error "Invalid method: `%s'" rudel-subscribe-session idle] 15 "\n\n(fn THIS XML)"] rudel-leave ((this rudel-infinote-directory-state-subscribing)) #[257 "\211\300\301\"\205\302\303\301\304\305\300\301\"\"BCD\306#\207" [slot-value id rudel-send subscribe-ack format "%d" t] 11 "Acknowledge the subscription when leaving the state.\n\n(fn THIS)"]] 6) #@58 States of the state machine used by the directory group. (defvar rudel-infinote-group-directory-states '((new . rudel-infinote-directory-state-new) (idle . rudel-infinote-directory-state-idle) (exploring . rudel-infinote-directory-state-exploring) (subscribing . rudel-infinote-directory-state-subscribing) (closed . rudel-infinote-group-state-closed)) (#$ . 10537)) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias rudel-infinote-group-directory-p eieio-make-class-predicate rudel-infinote-group-directory rudel-infinote-group-directory--eieio-childp eieio-make-child-predicate rudel-infinote-group-directory-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-group-directory) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-sequence-number-group) ((method :initform 'central)) (:documentation "Objects of this class represent infinote directory\ncommunication groups.")] 6) #@87 Create a new object of class type `rudel-infinote-group-directory'. (fn &rest SLOTS) (defalias 'rudel-infinote-group-directory #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-group-directory] 5 (#$ . 11578)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-group-directory compiler-macro rudel-infinote-group-directory--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-group-directory--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 11956)]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\317\320!\207" [cl-generic-define-method initialize-instance nil ((this rudel-infinote-group-directory) _slots) t #[771 " \210\301\"\207" [rudel-infinote-group-directory-states rudel-register-states] 6 "\n\n(fn CL--CNM THIS SLOTS)"] rudel-add-node ((this rudel-infinote-group-directory) id parent name type) #[1285 "\300\301\302\"%\207" [rudel-make-and-add-node slot-value connection] 12 "\n\n(fn THIS ID PARENT NAME TYPE)"] rudel-remove-node ((_this rudel-infinote-group-directory)) #[257 "\300\301!\207" [error "Removing nodes is not implemented"] 3 "\n\n(fn THIS)"] rudel-subscribe-session ((this rudel-infinote-group-directory) name method id) #[1028 "\300\301\302\"$\207" [rudel-subscribe-session slot-value connection] 10 "\n\n(fn THIS NAME METHOD ID)"] provide rudel-infinote-group-directory] 6)