diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/jaegertracing/thrift/tutorial/cl/tutorial-implementation.lisp | |
parent | Initial commit. (diff) | |
download | ceph-upstream.tar.xz ceph-upstream.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/jaegertracing/thrift/tutorial/cl/tutorial-implementation.lisp')
-rw-r--r-- | src/jaegertracing/thrift/tutorial/cl/tutorial-implementation.lisp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/tutorial/cl/tutorial-implementation.lisp b/src/jaegertracing/thrift/tutorial/cl/tutorial-implementation.lisp new file mode 100644 index 000000000..5c92fe405 --- /dev/null +++ b/src/jaegertracing/thrift/tutorial/cl/tutorial-implementation.lisp @@ -0,0 +1,41 @@ +(in-package #:tutorial-implementation) + +;;;; Licensed under the Apache License, Version 2.0 (the "License"); +;;;; you may not use this file except in compliance with the License. +;;;; You may obtain a copy of the License at +;;;; +;;;; http://www.apache.org/licenses/LICENSE-2.0 +;;;; +;;;; Unless required by applicable law or agreed to in writing, software +;;;; distributed under the License is distributed on an "AS IS" BASIS, +;;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +;;;; See the License for the specific language governing permissions and +;;;; limitations under the License. + +(defun tutorial.calculator-implementation:ping () + (format t "ping()~%")) + +(defun tutorial.calculator-implementation:add (num1 num2) + (format t "add(~a, ~a)~%" num1 num2) + (+ num1 num2)) + +(defun tutorial.calculator-implementation:calculate (logid work) + (format t "calculate(~a, ~a)~%" logid work) + (handler-case + (let* ((num1 (tutorial:work-num1 work)) + (num2 (tutorial:work-num2 work)) + (op (tutorial:work-op work)) + (result + (cond + ((= op tutorial:operation.add) (+ num1 num2)) + ((= op tutorial:operation.subtract) (- num1 num2)) + ((= op tutorial:operation.multiply) (* num1 num2)) + ((= op tutorial:operation.divide) (/ num1 num2))))) + (shared-implementation::add-log logid result) + result) + (division-by-zero () (error 'tutorial:invalidoperation + :why "Division by zero." + :what-op (tutorial:work-op work))))) + +(defun tutorial.calculator-implementation:zip () + (format t "zip()~%")) |