@Override public SyncSession createSyncSession(SyncParameters parameters) { return new LocalSyncSession(this); }
@Override public Response getNext(int timeout) { return getNext(); }
@Override public Result put(Document document) { return put(document, DocumentProtocol.Priority.NORMAL_3); }
@Override public Result get(DocumentId id, DocumentProtocol.Priority pri) { long req = getNextRequestId(); try { addResponse(new DocumentResponse(req, syncSession.get(id))); } catch (Exception e) { addResponse(new DocumentResponse(req, e.getMessage(), false)); } return new Result(req); }
@Override public Result get(DocumentId id) { return get(id, false, DocumentProtocol.Priority.NORMAL_3); }
@Override public Result update(DocumentUpdate update) { return update(update, DocumentProtocol.Priority.NORMAL_3); }
@Override public boolean remove(DocumentRemove documentRemove, DocumentProtocol.Priority priority) { return remove(documentRemove); }
@Override public Result remove(DocumentId id) { return remove(id, DocumentProtocol.Priority.NORMAL_3); }
@Override public AsyncSession createAsyncSession(AsyncParameters parameters) { return new LocalAsyncSession(parameters, this); }
public LocalAsyncSession(AsyncParameters params, LocalDocumentAccess access) { this.handler = params.getResponseHandler(); random.setSeed(System.currentTimeMillis()); syncSession = access.createSyncSession(new SyncParameters.Builder().build()); }
@Override public Result update(DocumentUpdate update, DocumentProtocol.Priority pri) { long req = getNextRequestId(); if (syncSession.update(update, pri)) { addResponse(new UpdateResponse(req, true)); } else { addResponse(new DocumentUpdateResponse(req, update, "Document not found.", false)); } return new Result(req); }
@Override @Deprecated // TODO: Remove on Vespa 8 public Result get(DocumentId id, boolean headersOnly, DocumentProtocol.Priority pri) { return get(id, pri); }
@Override public Result put(Document document, DocumentProtocol.Priority pri) { long req = getNextRequestId(); try { syncSession.put(new DocumentPut(document), pri); addResponse(new DocumentResponse(req)); } catch (Exception e) { addResponse(new DocumentResponse(req, document, e.getMessage(), false)); } return new Result(req); }
@Override public Result remove(DocumentId id, DocumentProtocol.Priority pri) { long req = getNextRequestId(); if (syncSession.remove(new DocumentRemove(id), pri)) { addResponse(new RemoveResponse(req, true)); } else { addResponse(new DocumentIdResponse(req, id, "Document not found.", false)); } return new Result(req); }