# Channel Access DataSource

## PV syntax

The standard prefix for the datasource is `ca://` which can be omitted if configured as the default datasource.

EPICS Channel Access PVs can be any record name or record.field name:

      ca://some:record:name
      ca://some_record_name
      ca://some_record_name.SCAN

### Client side parameters

The data source supports a small number of client parameters that specify how to handle the pv at the client side. These parameters are stripped from the request and never reach the server.

The parameter block is a JSON object separated from the pv name by a space (i.e ' '). The currently supported parameters are:

- `ca://mypv {"putCallback":true}`
  `ca://mypv {"putCallback":false}`
  tells whether put with callback should be used when writing a pv. The default is false, a regular put is used.
- `ca://mypv {"longString":true}`
  `ca://mypv {"longString":false}`
  tells whether to use the long string support. This allows to read and write a byte[] as if it was a native String, hiding the conversion of the zero terminated strings. By default, it uses false in all cases, except for pvs that have a field that end in '$' (e.g. `mypv.NAME$`).

Note that at this time the JSON notation has to match exactly (no extra spaces) and does not support the mix of parameters. This will be fixed in a future version.