package gapi-ocaml

  1. Overview
  2. Docs
A simple OCaml client for Google Services

Install

Dune Dependency

Authors

Maintainers

Sources

v0.4.6.tar.gz
sha256=b84b680528a5e050014103a8e7a60a5d43efd5fefc3f838310bd46769775ab48
md5=8ee26acf1f6c6f5e24c7b57fa070a0a2

doc/gapi-ocaml.netsys-local/Netsys_types/index.html

Module Netsys_typesSource

Types for all Netsys modules

Bytes and characters

Remember that up to OCaml-4.01 there was only the string type, and strings were mutable (although frequently used as if there were immutable). Since OCaml-4.02 there is the immutable string and the mutable bytes type.

The general strategy for switching to the string/bytes scheme is to replace string everywhere with bytes, and to provide additional functions taking strings as input or output where it makes sense. There are exceptions, though, e.g. when the string acts as a key in a data structure.

The type name "string" also occurs in function names (e.g. "get_string") and in variant names (e.g. String_case). As we want to be backward compatible, we keep the old names for functions on bytes, and mark them as deprecated.

We consider 1-dimensional bigarrays of chars as memory buffers. They have the useful property that the garbage collector cannot relocate them, i.e. the address is fixed. Also, one can mmap a file, and connect the bigarray with shared memory.

Sourcetype tbuffer = [
  1. | `Bytes of Bytes.t
  2. | `Memory of memory
  3. | `String of Bytes.t
]

A tagged buffer. Note that the `String case is deprecated, and only provided for backward compatibility.

Sourcetype tstring = [
  1. | `Bytes of Bytes.t
  2. | `Memory of memory
  3. | `String of string
]

A tagged string which is considered as immutable. See also the support module Netstring_tstring.

Sourceclass type mstring = object ... end

See Netxdr_mstring.mstring for documentation

Sourceexception EAGAIN_RD
Sourceexception EAGAIN_WR

A read or write cannot be done because the descriptor is in non-blocking mode and would block. This corresponds to the Unix.EAGAIN error but includes whether it was a read or write.

When the read or write is possible, the interrupted function should simply be again called.

These two exceptions are preferred by TLS providers.

Sourceexception TLS_switch_request

The server requested a rehandshake (this exception is thrown in the client)

Sourceexception TLS_switch_response of bool

The client accepted or denied a rehandshake (this exception is thrown in the server). true means acceptance.

Sourceexception TLS_error of string

A fatal error occurred (i.e. the session needs to be terminated). The string is a symbol identifying the error.

Sourceexception TLS_warning of string

A non-fatal error occurred. The interrupted function should be called again. The string is a symbol identifying the warning.

OCaml

Innovation. Community. Security.