├── CNAME ├── README.md ├── favicon.ico ├── javascripts └── scale.fix.js ├── index.html └── stylesheets ├── pygment_trac.css └── styles.css /CNAME: -------------------------------------------------------------------------------- 1 | qiro.io 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # qiro.io Website 2 | 3 | Source of the qiro.io website. 4 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Netflix-Skunkworks/qiro.github.io/master/favicon.ico -------------------------------------------------------------------------------- /javascripts/scale.fix.js: -------------------------------------------------------------------------------- 1 | var metas = document.getElementsByTagName('meta'); 2 | var i; 3 | if (navigator.userAgent.match(/iPhone/i)) { 4 | for (i=0; i 2 | 3 | 4 | 5 | 6 | Qiro 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 |
17 |
18 |
22 |

The Qiro Project

23 |

A library for building reactive-stream communication in a distributed system

24 |

View the Project on GitHub qiro/qiro

25 | 30 |
31 | 32 |
33 |

The Qiro project

34 |

Qiro is an agnostic communication library supporting multiple interaction models (fire-and-forget, request-response, request-stream, subscription, channel).

35 |

The project is in active development, and the interface is subject to be changed at any time.

36 | 37 |

Motivation

38 |

Composing RPC and stream of data over a distributed system is very hard. Qiro provides 39 | powerful abstractions that allow the users to focus on the business logic. 40 |

41 |

42 | Qiro will have multiple implementation for different underlying protocol. So far we target 43 | the reactive-socket, but other protocols maybe added 44 | in the future (HTTP, MySQL, Thrift...). 45 |

46 | 47 |
48 | 49 | 53 |
54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /stylesheets/pygment_trac.css: -------------------------------------------------------------------------------- 1 | .highlight { background: #ffffff; } 2 | .highlight .c { color: #999988; font-style: italic } /* Comment */ 3 | .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ 4 | .highlight .k { font-weight: bold } /* Keyword */ 5 | .highlight .o { font-weight: bold } /* Operator */ 6 | .highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ 7 | .highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ 8 | .highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ 9 | .highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ 10 | .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ 11 | .highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ 12 | .highlight .ge { font-style: italic } /* Generic.Emph */ 13 | .highlight .gr { color: #aa0000 } /* Generic.Error */ 14 | .highlight .gh { color: #999999 } /* Generic.Heading */ 15 | .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ 16 | .highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ 17 | .highlight .go { color: #888888 } /* Generic.Output */ 18 | .highlight .gp { color: #555555 } /* Generic.Prompt */ 19 | .highlight .gs { font-weight: bold } /* Generic.Strong */ 20 | .highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ 21 | .highlight .gt { color: #aa0000 } /* Generic.Traceback */ 22 | .highlight .kc { font-weight: bold } /* Keyword.Constant */ 23 | .highlight .kd { font-weight: bold } /* Keyword.Declaration */ 24 | .highlight .kn { font-weight: bold } /* Keyword.Namespace */ 25 | .highlight .kp { font-weight: bold } /* Keyword.Pseudo */ 26 | .highlight .kr { font-weight: bold } /* Keyword.Reserved */ 27 | .highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ 28 | .highlight .m { color: #009999 } /* Literal.Number */ 29 | .highlight .s { color: #d14 } /* Literal.String */ 30 | .highlight .na { color: #008080 } /* Name.Attribute */ 31 | .highlight .nb { color: #0086B3 } /* Name.Builtin */ 32 | .highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ 33 | .highlight .no { color: #008080 } /* Name.Constant */ 34 | .highlight .ni { color: #800080 } /* Name.Entity */ 35 | .highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ 36 | .highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ 37 | .highlight .nn { color: #555555 } /* Name.Namespace */ 38 | .highlight .nt { color: #000080 } /* Name.Tag */ 39 | .highlight .nv { color: #008080 } /* Name.Variable */ 40 | .highlight .ow { font-weight: bold } /* Operator.Word */ 41 | .highlight .w { color: #bbbbbb } /* Text.Whitespace */ 42 | .highlight .mf { color: #009999 } /* Literal.Number.Float */ 43 | .highlight .mh { color: #009999 } /* Literal.Number.Hex */ 44 | .highlight .mi { color: #009999 } /* Literal.Number.Integer */ 45 | .highlight .mo { color: #009999 } /* Literal.Number.Oct */ 46 | .highlight .sb { color: #d14 } /* Literal.String.Backtick */ 47 | .highlight .sc { color: #d14 } /* Literal.String.Char */ 48 | .highlight .sd { color: #d14 } /* Literal.String.Doc */ 49 | .highlight .s2 { color: #d14 } /* Literal.String.Double */ 50 | .highlight .se { color: #d14 } /* Literal.String.Escape */ 51 | .highlight .sh { color: #d14 } /* Literal.String.Heredoc */ 52 | .highlight .si { color: #d14 } /* Literal.String.Interpol */ 53 | .highlight .sx { color: #d14 } /* Literal.String.Other */ 54 | .highlight .sr { color: #009926 } /* Literal.String.Regex */ 55 | .highlight .s1 { color: #d14 } /* Literal.String.Single */ 56 | .highlight .ss { color: #990073 } /* Literal.String.Symbol */ 57 | .highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ 58 | .highlight .vc { color: #008080 } /* Name.Variable.Class */ 59 | .highlight .vg { color: #008080 } /* Name.Variable.Global */ 60 | .highlight .vi { color: #008080 } /* Name.Variable.Instance */ 61 | .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ 62 | 63 | .type-csharp .highlight .k { color: #0000FF } 64 | .type-csharp .highlight .kt { color: #0000FF } 65 | .type-csharp .highlight .nf { color: #000000; font-weight: normal } 66 | .type-csharp .highlight .nc { color: #2B91AF } 67 | .type-csharp .highlight .nn { color: #000000 } 68 | .type-csharp .highlight .s { color: #A31515 } 69 | .type-csharp .highlight .sc { color: #A31515 } 70 | -------------------------------------------------------------------------------- /stylesheets/styles.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700); 2 | 3 | body { 4 | padding:50px; 5 | font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; 6 | color:#777; 7 | font-weight:300; 8 | } 9 | 10 | h1, h2, h3, h4, h5, h6 { 11 | color:#222; 12 | margin:0 0 20px; 13 | } 14 | 15 | p, ul, ol, table, pre, dl { 16 | margin:0 0 20px; 17 | } 18 | 19 | h1, h2, h3 { 20 | line-height:1.1; 21 | } 22 | 23 | h1 { 24 | font-size:28px; 25 | } 26 | 27 | h2 { 28 | color:#393939; 29 | } 30 | 31 | h3, h4, h5, h6 { 32 | color:#494949; 33 | } 34 | 35 | a { 36 | color:#39c; 37 | font-weight:400; 38 | text-decoration:none; 39 | } 40 | 41 | a:hover { 42 | color:#069; 43 | } 44 | 45 | a small { 46 | font-size:11px; 47 | color:#777; 48 | margin-top:-0.6em; 49 | display:block; 50 | } 51 | 52 | a:hover small { 53 | color:#777; 54 | } 55 | 56 | .wrapper { 57 | width:860px; 58 | margin:0 auto; 59 | } 60 | 61 | blockquote { 62 | border-left:1px solid #e5e5e5; 63 | margin:0; 64 | padding:0 0 0 20px; 65 | font-style:italic; 66 | } 67 | 68 | code, pre { 69 | font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, monospace; 70 | color:#333; 71 | font-size:12px; 72 | } 73 | 74 | pre { 75 | padding:8px 15px; 76 | background: #f8f8f8; 77 | border-radius:5px; 78 | border:1px solid #e5e5e5; 79 | overflow-x: auto; 80 | } 81 | 82 | table { 83 | width:100%; 84 | border-collapse:collapse; 85 | } 86 | 87 | th, td { 88 | text-align:left; 89 | padding:5px 10px; 90 | border-bottom:1px solid #e5e5e5; 91 | } 92 | 93 | dt { 94 | color:#444; 95 | font-weight:700; 96 | } 97 | 98 | th { 99 | color:#444; 100 | } 101 | 102 | img { 103 | max-width:100%; 104 | } 105 | 106 | header { 107 | width:270px; 108 | float:left; 109 | position:fixed; 110 | } 111 | 112 | header ul { 113 | list-style:none; 114 | height:40px; 115 | 116 | padding:0; 117 | 118 | background: #eee; 119 | background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%); 120 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd)); 121 | background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); 122 | background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); 123 | background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); 124 | background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%); 125 | 126 | border-radius:5px; 127 | border:1px solid #d2d2d2; 128 | box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0; 129 | width:270px; 130 | } 131 | 132 | header li { 133 | width:89px; 134 | float:left; 135 | border-right:1px solid #d2d2d2; 136 | height:40px; 137 | } 138 | 139 | header li:first-child a { 140 | border-radius:5px 0 0 5px; 141 | } 142 | 143 | header li:last-child a { 144 | border-radius:0 5px 5px 0; 145 | } 146 | 147 | header ul a { 148 | line-height:1; 149 | font-size:11px; 150 | color:#999; 151 | display:block; 152 | text-align:center; 153 | padding-top:6px; 154 | height:34px; 155 | } 156 | 157 | header ul a:hover { 158 | color:#999; 159 | background: -moz-linear-gradient(top, #fff 0%, #ddd 100%); 160 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#ddd)); 161 | background: -webkit-linear-gradient(top, #fff 0%,#ddd 100%); 162 | background: -o-linear-gradient(top, #fff 0%,#ddd 100%); 163 | background: -ms-linear-gradient(top, #fff 0%,#ddd 100%); 164 | background: linear-gradient(top, #fff 0%,#ddd 100%); 165 | } 166 | 167 | header ul a:active { 168 | -webkit-box-shadow: inset 0px 2px 2px 0px #ddd; 169 | -moz-box-shadow: inset 0px 2px 2px 0px #ddd; 170 | box-shadow: inset 0px 2px 2px 0px #ddd; 171 | } 172 | 173 | strong { 174 | color:#222; 175 | font-weight:700; 176 | } 177 | 178 | header ul li + li { 179 | width:88px; 180 | border-left:1px solid #fff; 181 | } 182 | 183 | header ul li + li + li { 184 | border-right:none; 185 | width:89px; 186 | } 187 | 188 | header ul a strong { 189 | font-size:14px; 190 | display:block; 191 | color:#222; 192 | } 193 | 194 | section { 195 | width:500px; 196 | float:right; 197 | padding-bottom:50px; 198 | } 199 | 200 | small { 201 | font-size:11px; 202 | } 203 | 204 | hr { 205 | border:0; 206 | background:#e5e5e5; 207 | height:1px; 208 | margin:0 0 20px; 209 | } 210 | 211 | footer { 212 | width:270px; 213 | float:left; 214 | position:fixed; 215 | bottom:50px; 216 | } 217 | 218 | @media print, screen and (max-width: 960px) { 219 | 220 | div.wrapper { 221 | width:auto; 222 | margin:0; 223 | } 224 | 225 | header, section, footer { 226 | float:none; 227 | position:static; 228 | width:auto; 229 | } 230 | 231 | header { 232 | padding-right:320px; 233 | } 234 | 235 | section { 236 | border:1px solid #e5e5e5; 237 | border-width:1px 0; 238 | padding:20px 0; 239 | margin:0 0 20px; 240 | } 241 | 242 | header a small { 243 | display:inline; 244 | } 245 | 246 | header ul { 247 | position:absolute; 248 | right:50px; 249 | top:52px; 250 | } 251 | } 252 | 253 | @media print, screen and (max-width: 720px) { 254 | body { 255 | word-wrap:break-word; 256 | } 257 | 258 | header { 259 | padding:0; 260 | } 261 | 262 | header ul, header p.view { 263 | position:static; 264 | } 265 | 266 | pre, code { 267 | word-wrap:normal; 268 | } 269 | } 270 | 271 | @media print, screen and (max-width: 480px) { 272 | body { 273 | padding:15px; 274 | } 275 | 276 | header ul { 277 | display:none; 278 | } 279 | } 280 | 281 | @media print { 282 | body { 283 | padding:0.4in; 284 | font-size:12pt; 285 | color:#444; 286 | } 287 | } 288 | --------------------------------------------------------------------------------