github.com/timstclair/heapster@v0.20.0-alpha1/Godeps/_workspace/src/google.golang.org/appengine/internal/socket/socket_service.proto (about) 1 syntax = "proto2"; 2 option go_package = "socket"; 3 4 package appengine; 5 6 message RemoteSocketServiceError { 7 enum ErrorCode { 8 SYSTEM_ERROR = 1; 9 GAI_ERROR = 2; 10 FAILURE = 4; 11 PERMISSION_DENIED = 5; 12 INVALID_REQUEST = 6; 13 SOCKET_CLOSED = 7; 14 } 15 16 enum SystemError { 17 option allow_alias = true; 18 19 SYS_SUCCESS = 0; 20 SYS_EPERM = 1; 21 SYS_ENOENT = 2; 22 SYS_ESRCH = 3; 23 SYS_EINTR = 4; 24 SYS_EIO = 5; 25 SYS_ENXIO = 6; 26 SYS_E2BIG = 7; 27 SYS_ENOEXEC = 8; 28 SYS_EBADF = 9; 29 SYS_ECHILD = 10; 30 SYS_EAGAIN = 11; 31 SYS_EWOULDBLOCK = 11; 32 SYS_ENOMEM = 12; 33 SYS_EACCES = 13; 34 SYS_EFAULT = 14; 35 SYS_ENOTBLK = 15; 36 SYS_EBUSY = 16; 37 SYS_EEXIST = 17; 38 SYS_EXDEV = 18; 39 SYS_ENODEV = 19; 40 SYS_ENOTDIR = 20; 41 SYS_EISDIR = 21; 42 SYS_EINVAL = 22; 43 SYS_ENFILE = 23; 44 SYS_EMFILE = 24; 45 SYS_ENOTTY = 25; 46 SYS_ETXTBSY = 26; 47 SYS_EFBIG = 27; 48 SYS_ENOSPC = 28; 49 SYS_ESPIPE = 29; 50 SYS_EROFS = 30; 51 SYS_EMLINK = 31; 52 SYS_EPIPE = 32; 53 SYS_EDOM = 33; 54 SYS_ERANGE = 34; 55 SYS_EDEADLK = 35; 56 SYS_EDEADLOCK = 35; 57 SYS_ENAMETOOLONG = 36; 58 SYS_ENOLCK = 37; 59 SYS_ENOSYS = 38; 60 SYS_ENOTEMPTY = 39; 61 SYS_ELOOP = 40; 62 SYS_ENOMSG = 42; 63 SYS_EIDRM = 43; 64 SYS_ECHRNG = 44; 65 SYS_EL2NSYNC = 45; 66 SYS_EL3HLT = 46; 67 SYS_EL3RST = 47; 68 SYS_ELNRNG = 48; 69 SYS_EUNATCH = 49; 70 SYS_ENOCSI = 50; 71 SYS_EL2HLT = 51; 72 SYS_EBADE = 52; 73 SYS_EBADR = 53; 74 SYS_EXFULL = 54; 75 SYS_ENOANO = 55; 76 SYS_EBADRQC = 56; 77 SYS_EBADSLT = 57; 78 SYS_EBFONT = 59; 79 SYS_ENOSTR = 60; 80 SYS_ENODATA = 61; 81 SYS_ETIME = 62; 82 SYS_ENOSR = 63; 83 SYS_ENONET = 64; 84 SYS_ENOPKG = 65; 85 SYS_EREMOTE = 66; 86 SYS_ENOLINK = 67; 87 SYS_EADV = 68; 88 SYS_ESRMNT = 69; 89 SYS_ECOMM = 70; 90 SYS_EPROTO = 71; 91 SYS_EMULTIHOP = 72; 92 SYS_EDOTDOT = 73; 93 SYS_EBADMSG = 74; 94 SYS_EOVERFLOW = 75; 95 SYS_ENOTUNIQ = 76; 96 SYS_EBADFD = 77; 97 SYS_EREMCHG = 78; 98 SYS_ELIBACC = 79; 99 SYS_ELIBBAD = 80; 100 SYS_ELIBSCN = 81; 101 SYS_ELIBMAX = 82; 102 SYS_ELIBEXEC = 83; 103 SYS_EILSEQ = 84; 104 SYS_ERESTART = 85; 105 SYS_ESTRPIPE = 86; 106 SYS_EUSERS = 87; 107 SYS_ENOTSOCK = 88; 108 SYS_EDESTADDRREQ = 89; 109 SYS_EMSGSIZE = 90; 110 SYS_EPROTOTYPE = 91; 111 SYS_ENOPROTOOPT = 92; 112 SYS_EPROTONOSUPPORT = 93; 113 SYS_ESOCKTNOSUPPORT = 94; 114 SYS_EOPNOTSUPP = 95; 115 SYS_ENOTSUP = 95; 116 SYS_EPFNOSUPPORT = 96; 117 SYS_EAFNOSUPPORT = 97; 118 SYS_EADDRINUSE = 98; 119 SYS_EADDRNOTAVAIL = 99; 120 SYS_ENETDOWN = 100; 121 SYS_ENETUNREACH = 101; 122 SYS_ENETRESET = 102; 123 SYS_ECONNABORTED = 103; 124 SYS_ECONNRESET = 104; 125 SYS_ENOBUFS = 105; 126 SYS_EISCONN = 106; 127 SYS_ENOTCONN = 107; 128 SYS_ESHUTDOWN = 108; 129 SYS_ETOOMANYREFS = 109; 130 SYS_ETIMEDOUT = 110; 131 SYS_ECONNREFUSED = 111; 132 SYS_EHOSTDOWN = 112; 133 SYS_EHOSTUNREACH = 113; 134 SYS_EALREADY = 114; 135 SYS_EINPROGRESS = 115; 136 SYS_ESTALE = 116; 137 SYS_EUCLEAN = 117; 138 SYS_ENOTNAM = 118; 139 SYS_ENAVAIL = 119; 140 SYS_EISNAM = 120; 141 SYS_EREMOTEIO = 121; 142 SYS_EDQUOT = 122; 143 SYS_ENOMEDIUM = 123; 144 SYS_EMEDIUMTYPE = 124; 145 SYS_ECANCELED = 125; 146 SYS_ENOKEY = 126; 147 SYS_EKEYEXPIRED = 127; 148 SYS_EKEYREVOKED = 128; 149 SYS_EKEYREJECTED = 129; 150 SYS_EOWNERDEAD = 130; 151 SYS_ENOTRECOVERABLE = 131; 152 SYS_ERFKILL = 132; 153 } 154 155 optional int32 system_error = 1 [default=0]; 156 optional string error_detail = 2; 157 } 158 159 message AddressPort { 160 required int32 port = 1; 161 optional bytes packed_address = 2; 162 163 optional string hostname_hint = 3; 164 } 165 166 167 168 message CreateSocketRequest { 169 enum SocketFamily { 170 IPv4 = 1; 171 IPv6 = 2; 172 } 173 174 enum SocketProtocol { 175 TCP = 1; 176 UDP = 2; 177 } 178 179 required SocketFamily family = 1; 180 required SocketProtocol protocol = 2; 181 182 repeated SocketOption socket_options = 3; 183 184 optional AddressPort proxy_external_ip = 4; 185 186 optional int32 listen_backlog = 5 [default=0]; 187 188 optional AddressPort remote_ip = 6; 189 190 optional string app_id = 9; 191 192 optional int64 project_id = 10; 193 } 194 195 message CreateSocketReply { 196 optional string socket_descriptor = 1; 197 198 optional AddressPort server_address = 3; 199 200 optional AddressPort proxy_external_ip = 4; 201 202 extensions 1000 to max; 203 } 204 205 206 207 message BindRequest { 208 required string socket_descriptor = 1; 209 required AddressPort proxy_external_ip = 2; 210 } 211 212 message BindReply { 213 optional AddressPort proxy_external_ip = 1; 214 } 215 216 217 218 message GetSocketNameRequest { 219 required string socket_descriptor = 1; 220 } 221 222 message GetSocketNameReply { 223 optional AddressPort proxy_external_ip = 2; 224 } 225 226 227 228 message GetPeerNameRequest { 229 required string socket_descriptor = 1; 230 } 231 232 message GetPeerNameReply { 233 optional AddressPort peer_ip = 2; 234 } 235 236 237 message SocketOption { 238 239 enum SocketOptionLevel { 240 SOCKET_SOL_IP = 0; 241 SOCKET_SOL_SOCKET = 1; 242 SOCKET_SOL_TCP = 6; 243 SOCKET_SOL_UDP = 17; 244 } 245 246 enum SocketOptionName { 247 option allow_alias = true; 248 249 SOCKET_SO_DEBUG = 1; 250 SOCKET_SO_REUSEADDR = 2; 251 SOCKET_SO_TYPE = 3; 252 SOCKET_SO_ERROR = 4; 253 SOCKET_SO_DONTROUTE = 5; 254 SOCKET_SO_BROADCAST = 6; 255 SOCKET_SO_SNDBUF = 7; 256 SOCKET_SO_RCVBUF = 8; 257 SOCKET_SO_KEEPALIVE = 9; 258 SOCKET_SO_OOBINLINE = 10; 259 SOCKET_SO_LINGER = 13; 260 SOCKET_SO_RCVTIMEO = 20; 261 SOCKET_SO_SNDTIMEO = 21; 262 263 SOCKET_IP_TOS = 1; 264 SOCKET_IP_TTL = 2; 265 SOCKET_IP_HDRINCL = 3; 266 SOCKET_IP_OPTIONS = 4; 267 268 SOCKET_TCP_NODELAY = 1; 269 SOCKET_TCP_MAXSEG = 2; 270 SOCKET_TCP_CORK = 3; 271 SOCKET_TCP_KEEPIDLE = 4; 272 SOCKET_TCP_KEEPINTVL = 5; 273 SOCKET_TCP_KEEPCNT = 6; 274 SOCKET_TCP_SYNCNT = 7; 275 SOCKET_TCP_LINGER2 = 8; 276 SOCKET_TCP_DEFER_ACCEPT = 9; 277 SOCKET_TCP_WINDOW_CLAMP = 10; 278 SOCKET_TCP_INFO = 11; 279 SOCKET_TCP_QUICKACK = 12; 280 } 281 282 required SocketOptionLevel level = 1; 283 required SocketOptionName option = 2; 284 required bytes value = 3; 285 } 286 287 288 message SetSocketOptionsRequest { 289 required string socket_descriptor = 1; 290 repeated SocketOption options = 2; 291 } 292 293 message SetSocketOptionsReply { 294 } 295 296 message GetSocketOptionsRequest { 297 required string socket_descriptor = 1; 298 repeated SocketOption options = 2; 299 } 300 301 message GetSocketOptionsReply { 302 repeated SocketOption options = 2; 303 } 304 305 306 message ConnectRequest { 307 required string socket_descriptor = 1; 308 required AddressPort remote_ip = 2; 309 optional double timeout_seconds = 3 [default=-1]; 310 } 311 312 message ConnectReply { 313 optional AddressPort proxy_external_ip = 1; 314 315 extensions 1000 to max; 316 } 317 318 319 message ListenRequest { 320 required string socket_descriptor = 1; 321 required int32 backlog = 2; 322 } 323 324 message ListenReply { 325 } 326 327 328 message AcceptRequest { 329 required string socket_descriptor = 1; 330 optional double timeout_seconds = 2 [default=-1]; 331 } 332 333 message AcceptReply { 334 optional bytes new_socket_descriptor = 2; 335 optional AddressPort remote_address = 3; 336 } 337 338 339 340 message ShutDownRequest { 341 enum How { 342 SOCKET_SHUT_RD = 1; 343 SOCKET_SHUT_WR = 2; 344 SOCKET_SHUT_RDWR = 3; 345 } 346 required string socket_descriptor = 1; 347 required How how = 2; 348 required int64 send_offset = 3; 349 } 350 351 message ShutDownReply { 352 } 353 354 355 356 message CloseRequest { 357 required string socket_descriptor = 1; 358 optional int64 send_offset = 2 [default=-1]; 359 } 360 361 message CloseReply { 362 } 363 364 365 366 message SendRequest { 367 required string socket_descriptor = 1; 368 required bytes data = 2 [ctype=CORD]; 369 required int64 stream_offset = 3; 370 optional int32 flags = 4 [default=0]; 371 optional AddressPort send_to = 5; 372 optional double timeout_seconds = 6 [default=-1]; 373 } 374 375 message SendReply { 376 optional int32 data_sent = 1; 377 } 378 379 380 message ReceiveRequest { 381 enum Flags { 382 MSG_OOB = 1; 383 MSG_PEEK = 2; 384 } 385 required string socket_descriptor = 1; 386 required int32 data_size = 2; 387 optional int32 flags = 3 [default=0]; 388 optional double timeout_seconds = 5 [default=-1]; 389 } 390 391 message ReceiveReply { 392 optional int64 stream_offset = 2; 393 optional bytes data = 3 [ctype=CORD]; 394 optional AddressPort received_from = 4; 395 optional int32 buffer_size = 5; 396 } 397 398 399 400 message PollEvent { 401 402 enum PollEventFlag { 403 SOCKET_POLLNONE = 0; 404 SOCKET_POLLIN = 1; 405 SOCKET_POLLPRI = 2; 406 SOCKET_POLLOUT = 4; 407 SOCKET_POLLERR = 8; 408 SOCKET_POLLHUP = 16; 409 SOCKET_POLLNVAL = 32; 410 SOCKET_POLLRDNORM = 64; 411 SOCKET_POLLRDBAND = 128; 412 SOCKET_POLLWRNORM = 256; 413 SOCKET_POLLWRBAND = 512; 414 SOCKET_POLLMSG = 1024; 415 SOCKET_POLLREMOVE = 4096; 416 SOCKET_POLLRDHUP = 8192; 417 }; 418 419 required string socket_descriptor = 1; 420 required int32 requested_events = 2; 421 required int32 observed_events = 3; 422 } 423 424 message PollRequest { 425 repeated PollEvent events = 1; 426 optional double timeout_seconds = 2 [default=-1]; 427 } 428 429 message PollReply { 430 repeated PollEvent events = 2; 431 } 432 433 message ResolveRequest { 434 required string name = 1; 435 repeated CreateSocketRequest.SocketFamily address_families = 2; 436 } 437 438 message ResolveReply { 439 enum ErrorCode { 440 SOCKET_EAI_ADDRFAMILY = 1; 441 SOCKET_EAI_AGAIN = 2; 442 SOCKET_EAI_BADFLAGS = 3; 443 SOCKET_EAI_FAIL = 4; 444 SOCKET_EAI_FAMILY = 5; 445 SOCKET_EAI_MEMORY = 6; 446 SOCKET_EAI_NODATA = 7; 447 SOCKET_EAI_NONAME = 8; 448 SOCKET_EAI_SERVICE = 9; 449 SOCKET_EAI_SOCKTYPE = 10; 450 SOCKET_EAI_SYSTEM = 11; 451 SOCKET_EAI_BADHINTS = 12; 452 SOCKET_EAI_PROTOCOL = 13; 453 SOCKET_EAI_OVERFLOW = 14; 454 SOCKET_EAI_MAX = 15; 455 }; 456 457 repeated bytes packed_address = 2; 458 optional string canonical_name = 3; 459 repeated string aliases = 4; 460 }