;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\304\305!\210\306\307\310\311#\210\306\307\312\313#\210\314\315\316\317!\"\210\314\320\321\317!\"\210\314\322\320\"\210\323\322\324\325#\210\326\317\327\320#\330\317\331\332\333$\210\334\335\336\337\336\340%\210\334\341\336\342\336\343%\210\334\344\336\345\336\346%\210\334\347\336\350\336\351%\207" [require eieio rudel-errors rudel-transport intern "rudel-invalid-state" put rudel-invalid-state error-conditions (error rudel-error rudel-invalid-state) error-message "Operation invalid for current state." defalias rudel-transport-filter-p eieio-make-class-predicate rudel-transport-filter rudel-transport-filter--eieio-childp eieio-make-child-predicate rudel-transport-filter-child-p make-obsolete "use (cl-typep ... \\='rudel-transport-filter) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-transport) ((transport :initarg :transport :type rudel-transport :documentation "Transport object that performs the send and\nreceive operations this filter builds upon.") (filter :initarg :filter :type (or null function) :initform nil :reader rudel-filter :writer rudel-set-filter :documentation "Function that is called when data is received.") (sentinel :initarg :sentinel :type (or null function) :initform nil :reader rudel-sentinel :writer rudel-set-sentinel :documentation "Function that is called when the status of the\ntransport changes.")) (:documentation "This class is a base class for transport filters that\ntransform a bidirectional data stream as it passes through them." :abstract t) cl-generic-define-method rudel-sentinel nil ((this rudel-transport-filter)) #[257 "\300\301\"\207" [slot-value sentinel] 4 "Access the slot `sentinel' from object of class `rudel-transport-filter'.\n\n(fn THIS)"] rudel-set-sentinel ((this rudel-transport-filter) . #1=(value)) #[514 "\300\301#\207" [eieio-oset sentinel] 7 "Set the slot `sentinel' of an object of class `rudel-transport-filter'.\n\n(fn THIS VALUE)"] rudel-filter ((this rudel-transport-filter)) #[257 "\300\301\"\207" [slot-value filter] 4 "Access the slot `filter' from object of class `rudel-transport-filter'.\n\n(fn THIS)"] rudel-set-filter ((this rudel-transport-filter) . #1#) #[514 "\300\301#\207" [eieio-oset filter] 7 "Set the slot `filter' of an object of class `rudel-transport-filter'.\n\n(fn THIS VALUE)"]] 7) #@80 You cannot create a new object of type `rudel-transport-filter'. (fn &rest _) (defalias 'rudel-transport-filter #[128 "\300\301!\207" [error "Class rudel-transport-filter is abstract"] 3 (#$ . 2793)]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\326\327$\210\300\330\302\331\302\332%\210\300\333\302\334\302\335%\210\300\336\302\337\302\340%\210\300\341\302\342\302\343%\207" [cl-generic-define-method slot-missing nil ((this rudel-transport-filter) slot-name operation &optional new-value) #[1027 "\300=\204\f\301=\203+\302=\203+\303\304\305\"!\203&\306\304\305\"\300\"\202*\304\305\"\207\302=\2039\304\306\307\"\"\207\310=\205G\311\306\307\"#\207" [:root-transport root-transport oref rudel-transport-filter-child-p slot-value transport eieio-oref :transport oset set-slot-value] 9 "Make slots of underlying transport available as virtual slots of THIS.\n\n(fn THIS SLOT-NAME OPERATION &optional NEW-VALUE)"] cl-no-applicable-method (method (this rudel-transport-filter) &rest args) #[642 "\300\301\302\"A#\207" [apply eieio-oref :transport] 8 "Make methods of underlying transport callable as virtual methods of THIS.\n\n(fn METHOD THIS &rest ARGS)"] defalias rudel-assembling-transport-filter-p eieio-make-class-predicate rudel-assembling-transport-filter rudel-assembling-transport-filter--eieio-childp eieio-make-child-predicate rudel-assembling-transport-filter-child-p make-obsolete "use (cl-typep ... \\='rudel-assembling-transport-filter) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-transport-filter) ((buffer :initarg :buffer :type list :initform nil :documentation "Stores message fragments until complete\nmessages can be assembled.") (assembly-function :initarg :assembly-function :type function :reader rudel-assembly-function :writer rudel-set-assembly-function :documentation "Function that is called to assemble\nmessage fragments into complete messages.") (fragment-function :initarg :fragment-function :type (or null function) :initform nil :reader rudel-fragment-function :writer rudel-set-fragment-function :documentation "Function that is called to fragment\ncomplex messages into fragments. If the value is nil, messages\nare sent unmodified.")) (:documentation "Objects of this class assemble received message fragments into\ncomplete messages by calling an assembly function.") rudel-fragment-function ((this rudel-assembling-transport-filter)) #[257 "\300\301\"\207" [slot-value fragment-function] 4 "Access the slot `fragment-function' from object of class `rudel-assembling-transport-filter'.\n\n(fn THIS)"] rudel-set-fragment-function ((this rudel-assembling-transport-filter) . #1=(value)) #[514 "\300\301#\207" [eieio-oset fragment-function] 7 "Set the slot `fragment-function' of an object of class `rudel-assembling-transport-filter'.\n\n(fn THIS VALUE)"] rudel-assembly-function ((this rudel-assembling-transport-filter)) #[257 "\300\301\"\207" [slot-value assembly-function] 4 "Access the slot `assembly-function' from object of class `rudel-assembling-transport-filter'.\n\n(fn THIS)"] rudel-set-assembly-function ((this rudel-assembling-transport-filter) . #1#) #[514 "\300\301#\207" [eieio-oset assembly-function] 7 "Set the slot `assembly-function' of an object of class `rudel-assembling-transport-filter'.\n\n(fn THIS VALUE)"]] 7) #@90 Create a new object of class type `rudel-assembling-transport-filter'. (fn &rest SLOTS) (defalias 'rudel-assembling-transport-filter #[128 "\300\301\302#\207" [apply make-instance rudel-assembling-transport-filter] 5 (#$ . 6288)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-assembling-transport-filter compiler-macro rudel-assembling-transport-filter--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-assembling-transport-filter--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 (#$ . 6680)]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\311\312\313\314!\"\210\311\315\316\314!\"\210\311\317\315\"\210\320\317\321\322#\210\323\314\324\315#\325\314\326\327\330$\210\300\331\302\332\302\333%\210\300\334\302\335\302\336%\210\300\337\302\340\302\341%\210\300\342\302\343\302\344%\207" [cl-generic-define-method initialize-instance nil ((this rudel-assembling-transport-filter) _slots) t #[771 " \210\300\301\302\"\303\304\305\306\307 !\310\"\311\312%\"\210\313\301\302\"\303\304\314\306\307 !\315\"\316\317%\"\207" [rudel-set-filter slot-value transport make-byte-code 257 "\300\301\302\"\301\303\"\"\304\303A@#\266\211@\266\203\300\301\305\"\205(\306\301\305\"\"\207" vconcat vector [slot-value assembly-function buffer eieio-oset filter mapc] 8 "\n\n(fn DATA)" rudel-set-sentinel "\300\301\302\"\205\301\302\"!\207" [slot-value sentinel] 5 "\n\n(fn EVENT)"] 12 "Initialize THIS using SLOTS and install suitable handlers.\n\n(fn CL--CNM THIS SLOTS)"] rudel-send ((this rudel-assembling-transport-filter) data) #[514 "\300\301\"\203(\300\301\"!\211\205#\211@\302\300\303\"\"\210A\266\202\202\262\202/\302\300\303\"\"\207" [slot-value fragment-function rudel-send transport] 9 "Send DATA using the transport of THIS.\n\n(fn THIS DATA)"] defalias rudel-parsing-transport-filter-p eieio-make-class-predicate rudel-parsing-transport-filter rudel-parsing-transport-filter--eieio-childp eieio-make-child-predicate rudel-parsing-transport-filter-child-p make-obsolete "use (cl-typep ... \\='rudel-parsing-transport-filter) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-transport-filter) ((parse-function :initarg :parse-function :type function :initform 'identity :reader rudel-parse-function :writer rudel-set-parse-function :documentation "Function that is called on each received\npiece of data to transform it into a suitable representation.") (generate-function :initarg :generate-function :type function :initform 'identity :reader rudel-generate-function :writer rudel-set-generate-function :documentation "Function that is called on each outgoing\nobject to transform it into a string representation.")) (:documentation "Objects of this class convert sent and received data between\nstring representations and structured representations by calling\na pair of one parse and one generate function.") rudel-generate-function ((this rudel-parsing-transport-filter)) #[257 "\300\301\"\207" [slot-value generate-function] 4 "Access the slot `generate-function' from object of class `rudel-parsing-transport-filter'.\n\n(fn THIS)"] rudel-set-generate-function ((this rudel-parsing-transport-filter) . #1=(value)) #[514 "\300\301#\207" [eieio-oset generate-function] 7 "Set the slot `generate-function' of an object of class `rudel-parsing-transport-filter'.\n\n(fn THIS VALUE)"] rudel-parse-function ((this rudel-parsing-transport-filter)) #[257 "\300\301\"\207" [slot-value parse-function] 4 "Access the slot `parse-function' from object of class `rudel-parsing-transport-filter'.\n\n(fn THIS)"] rudel-set-parse-function ((this rudel-parsing-transport-filter) . #1#) #[514 "\300\301#\207" [eieio-oset parse-function] 7 "Set the slot `parse-function' of an object of class `rudel-parsing-transport-filter'.\n\n(fn THIS VALUE)"]] 7) #@87 Create a new object of class type `rudel-parsing-transport-filter'. (fn &rest SLOTS) (defalias 'rudel-parsing-transport-filter #[128 "\300\301\302#\207" [apply make-instance rudel-parsing-transport-filter] 5 (#$ . 10274)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-parsing-transport-filter compiler-macro rudel-parsing-transport-filter--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-parsing-transport-filter--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 (#$ . 10652)]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\311\312\313\314!\"\210\311\315\316\314!\"\210\311\317\315\"\210\320\317\321\322#\210\323\314\324\315#\325\314\326\302\327$\207" [cl-generic-define-method initialize-instance nil ((this rudel-parsing-transport-filter) _slots) t #[771 " \210\300\301\302\"\303\304\305\306\307 !\310\"\311\312%\"\210\313\301\302\"\303\304\314\306\307 !\315\"\316\317%\"\207" [rudel-set-filter slot-value transport make-byte-code 257 "\300\301\302\"\205\301\303\"!\301\302\"!\262\207" vconcat vector [slot-value filter parse-function] 6 "\n\n(fn MESSAGE-DATA)" rudel-set-sentinel "\300\301\302\"\205\301\302\"!\207" [slot-value sentinel] 5 "\n\n(fn EVENT)"] 12 "Initialize THIS using SLOTS and install suitable handlers.\n\n(fn CL--CNM THIS SLOTS)"] rudel-send ((this rudel-parsing-transport-filter) message) #[514 "\300\301\302\"\301\303\"!\"\207" [rudel-send slot-value transport generate-function] 8 "Apply generate function to MESSAGE, pass result to transport of THIS.\n\n(fn THIS MESSAGE)"] defalias rudel-injecting-transport-filter-p eieio-make-class-predicate rudel-injecting-transport-filter rudel-injecting-transport-filter--eieio-childp eieio-make-child-predicate rudel-injecting-transport-filter-child-p make-obsolete "use (cl-typep ... \\='rudel-injecting-transport-filter) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-transport-filter) (:documentation "Objects of this class act as transport filters but do not\nreceive their data from underlying transports. Instead data is\ninjected by calling `rudel-inject'.")] 6) #@89 Create a new object of class type `rudel-injecting-transport-filter'. (fn &rest SLOTS) (defalias 'rudel-injecting-transport-filter #[128 "\300\301\302#\207" [apply make-instance rudel-injecting-transport-filter] 5 (#$ . 12549)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-injecting-transport-filter compiler-macro rudel-injecting-transport-filter--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-injecting-transport-filter--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 (#$ . 12937)]) (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\323\324$\207" [cl-generic-define-method rudel-inject nil ((this rudel-injecting-transport-filter) data) #[514 "\300\301\"\205\300\301\"!\207" [slot-value filter] 6 "Inject DATA as if it was received from an underlying transport.\n\n(fn THIS DATA)"] defalias rudel-buffering-transport-filter-p eieio-make-class-predicate rudel-buffering-transport-filter rudel-buffering-transport-filter--eieio-childp eieio-make-child-predicate rudel-buffering-transport-filter-child-p make-obsolete "use (cl-typep ... \\='rudel-buffering-transport-filter) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-transport-filter) ((queue-in :initarg :queue-in :type list :initform nil :documentation "Queue of incoming data. Non-empty list only when\nthe filter is in stopped.") (queue-out :initarg :queue-out :type list :initform nil :documentation "Queue of outgoing data. Non-empty list only when\nthe filter is in stopped.") (stopped :initarg :stopped :type boolean :initform nil :documentation "Flag describing whether the filter is currently\nstopped.")) (:documentation "Objects of this class are transport filters that can queue\nincoming and outgoing data and process it later.")] 6) #@89 Create a new object of class type `rudel-buffering-transport-filter'. (fn &rest SLOTS) (defalias 'rudel-buffering-transport-filter #[128 "\300\301\302#\207" [apply make-instance rudel-buffering-transport-filter] 5 (#$ . 14558)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-buffering-transport-filter compiler-macro rudel-buffering-transport-filter--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-buffering-transport-filter--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 (#$ . 14946)]) (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\300\317\302\320\302\321%\210\322\323\324\325!\"\210\322\326\327\325!\"\210\322\330\326\"\210\331\330\332\333#\210\334\325\335\326#\336\325\337\340\341$\207" [cl-generic-define-method initialize-instance nil ((this rudel-buffering-transport-filter) _slots) t #[771 " \210\300\301\302\"\303\304\305\306\307 !\310\"\311\312%\"\210\313\301\302\"\303\304\314\306\307 !\315\"\316\317%\"\207" [rudel-set-filter slot-value transport make-byte-code 257 "\301\300\"\207" vconcat vector [rudel-handle] 4 "\n\n(fn DATA)" rudel-set-sentinel "\300\301\302\"\205\301\302\"!\207" [slot-value sentinel] 5 "\n\n(fn EVENT)"] 12 "Initialize slots of THIS and install filter in underlying transport.\n\n(fn CL--CNM THIS SLOTS)"] rudel-send ((this rudel-buffering-transport-filter) data) #[514 "\300\301\"\203\211\302\303\300\303\"B#\262\202 \304\300\305\"\"\207" [slot-value stopped eieio-oset queue-out rudel-send transport] 11 "Send DATA through THIS, queueing when necessary.\n\n(fn THIS DATA)"] rudel-stop ((this rudel-buffering-transport-filter)) #[257 "\211\300\301\"\203 \302\303\304\"\210\211\305\301\306#\262\207" [slot-value stopped signal rudel-invalid-state (stopped) eieio-oset t] 7 "Stop THIS, queue incoming and out going data.\n\n(fn THIS)"] rudel-start ((this rudel-buffering-transport-filter)) #[257 "\211\300\301\"\237\211\203\211@\302\"\210A\266\202\202\210\300\303\"\203,\304\300\303\"\300\305\"\237\"\210\211\306\305\307#\266\211\306\301\307#\266\211\306\310\307#\262\207" [slot-value queue-out rudel-send filter mapc queue-in eieio-oset nil stopped] 7 "Start THIS, process queued incoming and outgoing data.\n\n(fn THIS)"] rudel-handle ((this rudel-buffering-transport-filter) data) #[514 "\300\301\"\203\211\302\303\300\303\"B#\262\202&\300\304\"\205&\300\304\"!\207" [slot-value stopped eieio-oset queue-in filter] 11 "Handle DATA.\n\n(fn THIS DATA)"] defalias rudel-collecting-transport-filter-p eieio-make-class-predicate rudel-collecting-transport-filter rudel-collecting-transport-filter--eieio-childp eieio-make-child-predicate rudel-collecting-transport-filter-child-p make-obsolete "use (cl-typep ... \\='rudel-collecting-transport-filter) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-transport-filter) ((queue :initarg :queue :type list :initform nil :documentation "Data fragments queued for transmission in the\nnext chunk.") (queued-size :initarg :queued-size :type integer :initform 0 :documentation "The size of the queued data.") (flush-size :initarg :flush-size :type integer :initform 1024 :documentation "Amount of queued data leading to an immediate\ntransmission.") (timer :initarg :timer :type (or null timer) :initform nil :documentation "A timer used to trigger the transmission of\nqueued data.") (delay :initarg :delay :type number :initform 1 :documentation "The maximum time to wait before transmitting\nqueued data even if it is smaller than a complete chunk.")) (:documentation "Object of this class are transport filters that queue data\nsent through them until certain amounts of data are available for\ntransmission.")] 6) #@90 Create a new object of class type `rudel-collecting-transport-filter'. (fn &rest SLOTS) (defalias 'rudel-collecting-transport-filter #[128 "\300\301\302#\207" [apply make-instance rudel-collecting-transport-filter] 5 (#$ . 18487)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-collecting-transport-filter compiler-macro rudel-collecting-transport-filter--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-collecting-transport-filter--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 (#$ . 18880)]) (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\300\317\302\320\302\321%\207" [cl-generic-define-method initialize-instance nil ((this rudel-collecting-transport-filter) _slots) t #[771 " \210\300\301\302\"\303\304\305\306\307 !\310\"\311\312%\"\210\313\301\302\"\303\304\305\306\307 !\314\"\311\315%\"\207" [rudel-set-filter slot-value transport make-byte-code 257 "\300\301\302\"\205\301\302\"!\207" vconcat vector [slot-value filter] 5 "\n\n(fn DATA)" rudel-set-sentinel [slot-value sentinel] "\n\n(fn EVENT)"] 12 "Initialize slots of THIS and setup filter of underlying transport.\n\n(fn CL--CNM THIS SLOTS)"] rudel-send ((this rudel-collecting-transport-filter) data) #[514 "\211\300\301\302\301\"B#\266\211\300\303\302\303\"G\\#\266\302\303\"\302\304\"W\2030\305!\2027\306!\210\307!\207" [eieio-oset queue slot-value queued-size flush-size rudel-maybe-start-timer rudel-maybe-cancel-timer rudel-flush] 11 "Send or enqueue DATA.\n\n(fn THIS DATA)"] rudel-flush ((this rudel-collecting-transport-filter)) #[257 "\211\300\301\302\"\303\304\301\305\"\237\306#\"\210\211\307\305\310#\266\211\307\311\312#\262\207" [rudel-send slot-value transport mapconcat identity queue "" eieio-oset nil queued-size 0] 9 "Transmit all data queued in THIS immediately.\n\n(fn THIS)"] rudel-maybe-start-timer ((this rudel-collecting-transport-filter)) #[257 "\211\300\301\"?\205$\211\302\301\303\300\304\"\305\306\307\310\311\312 !\313\"\314$##\262\207" [slot-value timer eieio-oset run-at-time delay nil make-byte-code 0 "\301\300!\210\302\300\303\304#\207" vconcat vector [rudel-flush eieio-oset :timer nil] 4] 15 "Start timer that runs `rudel-flush' when it expires.\n\n(fn THIS)"] rudel-maybe-cancel-timer ((this rudel-collecting-transport-filter)) #[257 "\211\300\301\"\205\302\300\301\"!\210\211\303\301\304#\262\207" [slot-value timer cancel-timer eieio-oset nil] 7 "Cancel the flush timer of this.\n\n(fn THIS)"]] 6) #@79 Threshold for message size, above which messages are sent in multiple chunks. (defconst rudel-long-message-threshold 32768 (#$ . 21172)) #@47 Chunk size used, when chunking long messages. (defconst rudel-long-message-chunk-size 16384 (#$ . 21315)) (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-progress-reporting-transport-filter-p eieio-make-class-predicate rudel-progress-reporting-transport-filter rudel-progress-reporting-transport-filter--eieio-childp eieio-make-child-predicate rudel-progress-reporting-transport-filter-child-p make-obsolete "use (cl-typep ... \\='rudel-progress-reporting-transport-filter) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-transport-filter) ((reporter :initarg :reporter :documentation "TODO")) (:documentation "TODO")] 6) #@98 Create a new object of class type `rudel-progress-reporting-transport-filter'. (fn &rest SLOTS) (defalias 'rudel-progress-reporting-transport-filter #[128 "\300\301\302#\207" [apply make-instance rudel-progress-reporting-transport-filter] 5 (#$ . 22091)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-progress-reporting-transport-filter compiler-macro rudel-progress-reporting-transport-filter--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-progress-reporting-transport-filter--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 (#$ . 22524)]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\207" [cl-generic-define-method initialize-instance nil ((this rudel-progress-reporting-transport-filter) _slots) t #[771 " \210\211\300\301\302\303\304\305##\266\306\307\310\"\311\312\313\314\315 !\316\"\317\320%\"\207" [eieio-oset reporter make-progress-reporter "Sending data " 0.0 1.0 rudel-set-filter slot-value transport make-byte-code 257 "\300\301\302\"\205\301\302\"!\207" vconcat vector [slot-value filter] 5 "\n\n(fn DATA)"] 12 "TODO\n\n(fn CL--CNM THIS SLOTS)"] rudel-send ((this rudel-progress-reporting-transport-filter) data) #[514 "GY\203lG \245\302 \302X\203\303\304!\210\305\211\306\230\204_G ^\262\302O\262\305O\262\307\310\"\311!\245\211\247\203I\211@Y\205M\312\"\266\313\307\314\"\"\210T\262\202\266\315\307\310\"!\266\202\202s\313\307\314\"\"\207" [rudel-long-message-threshold rudel-long-message-chunk-size 0 error "Size should be positive" nil "" slot-value reporter float progress-reporter-do-update rudel-send transport progress-reporter-done] 13 "TODO\n\n(fn THIS DATA)"]] 6) #@415 Construct a filter stack on top of BASE according to SPECS. SPECS is structured as follows: SPECS ::= (SPEC*) SPEC ::= (CLASS KWARG*) KWARG ::= KEYWORD VALUE CLASS is the symbol of a class derived from `rudel-transport-filter' KEYWORD is a keyword and VALUE is an arbitrary expression and is used unevaluated. The returned value is the "top" of the constructed stack (BASE being the "bottom"). (fn BASE SPECS) (defalias 'rudel-transport-make-filter-stack #[514 "\211\203\"\211@\211@A\211\300\301\302\n%\262\266A\266\202\202\210\211\207" [apply make-instance :transport] 15 (#$ . 23908)]) (provide 'rudel-transport-util)