anchor.diff:  ;;;; Sending requests
   
   
  -(defun request-start-request (req)
  +(defun request-start-request (req handler)
  +  "Connect REQ target and call HANDLER with connection, request-id"
  +  (setf (request-status req) nil)
     (let ((object (request-target req)))
       (let ((conn (get-object-connection object)))
         (unless conn
           (raise-system-exception 'corba:transient 2 :completed_no))
  -      (setf (request-connection req) conn)    
  -      (setf (request-status req) nil)
  -      ;;(setf (request-id req) (next-request-id conn))
  -      (setf (request-effective-profile req)
  -            (selected-profile (or (object-forward object) object)))
  -      (values conn))))
  +      (setf (request-connection req) conn)
  +      (let ((req-id (next-request-id conn)))
  +        (setf (request-id req) req-id)
  +        (setf (request-effective-profile req)
  +              (selected-profile (or (object-forward object) object)))
  +        (funcall handler conn req-id)
  +        (values conn)))))
   
   
   (defun static-error-handler (condition)
     (error condition))
   
  +
  +(defvar *call-hook* nil)
   
   (defun do-static-call (obj operation response-expected
                          output-func input-func exceptions)
  
positive.code:               :input-func input-func 
                :error-handler #'static-error-handler)))
      (request-send req)
      (when response-expected
        (request-get-response req))))
  
  
  (defun request-invoke (req)
  
negative.code: (defun dii-output-func (req buffer)
    (loop for nv in (request-paramlist req)
          when (/= 0 (logand ARG_IN (op:arg_modes nv)))
          do (let ((any (op:argument nv)))
               (jit-marshal (any-value any)
                            (any-typecode any)
                            buffer))))
  
  
  (defun dii-input-func (req buffer)
    (loop for nv in (request-paramlist req)
          when (/= 0 (logand ARG_OUT (op:arg_modes nv)))
          do (let ((any (op:argument nv)))
               (setf (any-value any) (jit-unmarshal (any-typecode any) buffer)))))
  
  
  (defun dii-error-handler (condition)
  