Source

core hello world / broker_protocol.mli

open Core.Std
open Async.Std

module Username : Identifiable
module Topic : Identifiable

module Message : sig
  type t = { text: string;
             topic: Topic.t;
             from: Username.t;
             time: Time.t;
           }
  with sexp, bin_io, compare
end

module Dump : sig
  type single = { message : Message.t;
                  num_subscribers: int;
                }
  with sexp,bin_io, compare
  type t = single list with sexp,bin_io, compare
end


val publish_rpc   : (Message.t, unit)              Rpc.Rpc.t
val subscribe_rpc : (Topic.t, Message.t, String.t) Rpc.Pipe_rpc.t
val dump_rpc      : (unit, Dump.t)                 Rpc.Rpc.t
val shutdown_rpc  : (unit,unit)                    Rpc.Rpc.t
val clear_rpc     : (Topic.t, unit)                Rpc.Rpc.t
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.