summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/thrift/lib/erl/src/thrift_multiplexed_map_wrapper.erl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/jaegertracing/thrift/lib/erl/src/thrift_multiplexed_map_wrapper.erl57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/lib/erl/src/thrift_multiplexed_map_wrapper.erl b/src/jaegertracing/thrift/lib/erl/src/thrift_multiplexed_map_wrapper.erl
new file mode 100644
index 000000000..34c5e95f5
--- /dev/null
+++ b/src/jaegertracing/thrift/lib/erl/src/thrift_multiplexed_map_wrapper.erl
@@ -0,0 +1,57 @@
+%%
+%% Licensed to the Apache Software Foundation (ASF) under one
+%% or more contributor license agreements. See the NOTICE file
+%% distributed with this work for additional information
+%% regarding copyright ownership. The ASF licenses this file
+%% to you 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.
+%%
+
+-module(thrift_multiplexed_map_wrapper).
+
+-export([
+ new/0
+ ,store/3
+ ,find/2
+ ,fetch/2
+ ]).
+
+-type service_handler() :: nonempty_string().
+-type module_() :: atom().
+-type service_handler_map() :: [{ServiceHandler::service_handler(), Module::module_()}].
+
+-spec new() -> service_handler_map().
+new() ->
+ orddict:new().
+
+-spec store(ServiceHandler, Module, Map) -> NewMap when
+ ServiceHandler :: service_handler(),
+ Module :: module_(),
+ Map :: service_handler_map(),
+ NewMap :: service_handler_map().
+store(ServiceHandler, Module, Map) ->
+ orddict:store(ServiceHandler, Module, Map).
+
+-spec find(ServiceHandler, Map) -> {ok, Module} | error when
+ ServiceHandler :: service_handler(),
+ Module :: module_(),
+ Map :: service_handler_map().
+find(ServiceHandler, Map) ->
+ orddict:find(ServiceHandler, Map).
+
+-spec fetch(ServiceHandler, Map) -> Module when
+ ServiceHandler :: service_handler(),
+ Module :: module_(),
+ Map :: service_handler_map().
+fetch(ServiceHandler, Map) ->
+ orddict:fetch(ServiceHandler, Map).