Author: psmith Date: Wed Feb 21 01:38:56 2007 New Revision: 93
Modified: branches/home/psmith/restructure/src/io/async-fd.lisp branches/home/psmith/restructure/src/protocol/yarpc/nio-yarpc-package.lisp branches/home/psmith/restructure/src/protocol/yarpc/yarpc-packet-factory.lisp branches/home/psmith/restructure/src/protocol/yarpc/yarpc-state-machine.lisp Log: Eval whole string on rpc, allow user defined writer, increase default buffer size
Modified: branches/home/psmith/restructure/src/io/async-fd.lisp ============================================================================== --- branches/home/psmith/restructure/src/io/async-fd.lisp (original) +++ branches/home/psmith/restructure/src/io/async-fd.lisp Wed Feb 21 01:38:56 2007 @@ -33,9 +33,9 @@ :accessor write-fd) (read-fd :initarg :read-fd :accessor read-fd) - (foreign-read-buffer :initform (byte-buffer 1024) + (foreign-read-buffer :initform (byte-buffer 2096) :accessor foreign-read-buffer) - (foreign-write-buffer :initform (byte-buffer 1024) + (foreign-write-buffer :initform (byte-buffer 2096) :accessor foreign-write-buffer) (read-ready :initform nil :accessor read-ready
Modified: branches/home/psmith/restructure/src/protocol/yarpc/nio-yarpc-package.lisp ============================================================================== --- branches/home/psmith/restructure/src/protocol/yarpc/nio-yarpc-package.lisp (original) +++ branches/home/psmith/restructure/src/protocol/yarpc/nio-yarpc-package.lisp Wed Feb 21 01:38:56 2007 @@ -32,7 +32,7 @@ yarpc-state-machine-factory get-packet-factory
;; yarpc-state-machine - yarpc-state-machine job-queue run-job +process-jobs-inline+ + yarpc-state-machine job-queue run-job +process-jobs-inline+ +serialise-packet-fn+ ;to be moved test-rpc test-rpc-list test-rpc-string execute-call defremote
Modified: branches/home/psmith/restructure/src/protocol/yarpc/yarpc-packet-factory.lisp ============================================================================== --- branches/home/psmith/restructure/src/protocol/yarpc/yarpc-packet-factory.lisp (original) +++ branches/home/psmith/restructure/src/protocol/yarpc/yarpc-packet-factory.lisp Wed Feb 21 01:38:56 2007 @@ -115,6 +115,8 @@ (defmethod print-object ((packet method-response-packet) stream) (format stream "#<METHID-RESPONSE-PACKET ~A >" (response packet)))
+(defparameter +serialise-packet-fn+ #'(lambda (result)(write-to-string result))) + (defmethod write-bytes((packet method-response-packet) buf) #+nio-debug (format-log t "yarpc-packet-factory:write-bytes - writing ~A to ~A~%" packet buf) (nio-buffer:mark buf) @@ -123,7 +125,7 @@ (nio-buffer:bytebuffer-write-8 buf +METHOD-RESPONSE-PACKET-ID+) (nio-buffer:bytebuffer-write-32 buf 0) ; come back and write length later (nio-buffer:bytebuffer-write-32 buf (request-id packet)) - (nio-buffer:bytebuffer-write-string buf (write-to-string (response packet))) + (nio-buffer:bytebuffer-write-string buf (funcall +serialise-packet-fn+ (response packet))) (nio-buffer:bytebuffer-insert-32 buf (buffer-position buf) 1) #+nio-debug (format-log t "yarpc-packet-factory:write-bytes - written ~A~%" buf) )
Modified: branches/home/psmith/restructure/src/protocol/yarpc/yarpc-state-machine.lisp ============================================================================== --- branches/home/psmith/restructure/src/protocol/yarpc/yarpc-state-machine.lisp (original) +++ branches/home/psmith/restructure/src/protocol/yarpc/yarpc-state-machine.lisp Wed Feb 21 01:38:56 2007 @@ -109,7 +109,7 @@ (fn (member (symbol-function (first rpc-call-list)) *remote-fns* ))) #+nio-debug (format-log t "yarpc-state-machine:execute-call - fn ~A authorised? : ~A~%" (symbol-function (first rpc-call-list)) fn) (if fn - (apply (first rpc-call-list) (rest rpc-call-list)) + (eval rpc-call-list) (error 'authorization-error))) (reader-error (re) (format-log t "yarpc-state-machine:execute-call - reader error on call-string ~A ~%" re))))