sig
module type Problem =
sig
val identifier : string
type init
type client_data
type input
type key
type value
type output
val init_client :
JoinMapRed.Problem.init -> JoinMapRed.Problem.client_data
val compare_keys :
JoinMapRed.Problem.key -> JoinMapRed.Problem.key -> int
val map :
JoinMapRed.Problem.client_data ->
JoinMapRed.Problem.input ->
(JoinMapRed.Problem.key * JoinMapRed.Problem.value) list
val combine :
JoinMapRed.Problem.value ->
JoinMapRed.Problem.value -> JoinMapRed.Problem.value
val reduce :
JoinMapRed.Problem.key ->
JoinMapRed.Problem.value ->
JoinMapRed.Problem.output -> JoinMapRed.Problem.output
end
module type S =
sig
type init
type input
type output
val client : JoinHelper.configuration -> unit
val server :
JoinHelper.configuration ->
JoinMapRed.S.init ->
('a, JoinMapRed.S.input) JoinPool.Simple.enum ->
JoinMapRed.S.output -> JoinMapRed.S.output
end
module Make :
functor (P : Problem) ->
sig
type init = P.init
type input = P.input
type output = P.output
val client : JoinHelper.configuration -> unit
val server :
JoinHelper.configuration ->
init -> ('a, input) JoinPool.Simple.enum -> output -> output
end
end