package bonsai

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file protocol.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
open! Core
open! Async_rpc_kernel

module Message_stream = struct
  let t =
    Rpc.Pipe_rpc.create
      ~name:"messages"
      ~version:0
      ~bin_query:[%bin_type_class: unit]
      ~bin_response:[%bin_type_class: Message.t]
      ~bin_error:[%bin_type_class: unit]
      ()
  ;;
end

module Messages_request = struct
  let t =
    Rpc.Rpc.create
      ~name:"get_messages"
      ~version:0
      ~bin_query:[%bin_type_class: Room.t]
      ~bin_response:[%bin_type_class: Message.t List.t]
  ;;
end

module Send_message = struct
  let t =
    Rpc.Rpc.create
      ~name:"send_message"
      ~version:0
      ~bin_query:[%bin_type_class: Message.t]
      ~bin_response:[%bin_type_class: unit Or_error.t]
  ;;
end

module Create_room = struct
  let t =
    Rpc.Rpc.create
      ~name:"create_room"
      ~version:0
      ~bin_query:[%bin_type_class: Room.t]
      ~bin_response:[%bin_type_class: unit Or_error.t]
  ;;
end

module List_rooms = struct
  let t =
    Rpc.Rpc.create
      ~name:"list_rooms"
      ~version:0
      ~bin_query:[%bin_type_class: unit]
      ~bin_response:[%bin_type_class: Room.t List.t]
  ;;
end
OCaml

Innovation. Community. Security.