From 8a0f5efeb22ac091dd6ac63fbd7e0a19b00e3326 Mon Sep 17 00:00:00 2001 From: Ning Sun Date: Wed, 28 Jun 2017 08:23:28 +0800 Subject: [PATCH] (feat) initial support for extension content type Signed-off-by: Ning Sun --- src/slacker/protocol.clj | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/slacker/protocol.clj b/src/slacker/protocol.clj index 55f55d4..d77b871 100644 --- a/src/slacker/protocol.clj +++ b/src/slacker/protocol.clj @@ -21,12 +21,17 @@ :type-inspect-ack 8 :type-interrupt 9})) +(def content-type-map + (atom {:carb 0 :json 1 :clj 2 :nippy 3 + :deflate-carb 10 :deflate-json 11 + :deflate-clj 12 :deflate-nippy 13})) + +(defn register-content-type! [code type] + (assert (> code 100) "Custom type code must larger than 100 to avoid conflicts with internal") + (swap! content-type-map assoc type code)) + (def content-type - (enum (byte) {:carb 0 :json 1 :clj 2 :nippy 3 - :deflate-carb 10 - :deflate-json 11 - :deflate-clj 12 - :deflate-nippy 13})) + (enum (byte) content-type-map)) (def result-codes (enum (byte) {:success 0