@Override public void close() throws IOException, InterruptedException { endpoint.close(); }
public void connect(InetSocketAddress address) throws IOException { endpoint.connect(address); }
public String toString() { String address = ""; try { address = endpoint.address(); } catch (IOException e) { } return address; }
public NaRPCFuture<R,T> issueRequest(R request, T response) throws IOException { ByteBuffer buffer = getBuffer(); long ticket = sequencer.getAndIncrement(); makeMessage(ticket, request, buffer); NaRPCFuture<R,T> future = new NaRPCFuture<R,T>(this, request, response, ticket); pendingRPCs.put(ticket, future); while(!tryTransmitting(buffer)){ } putBuffer(buffer); return future; }
public void pollResponse(AtomicBoolean done) throws IOException { ByteBuffer buffer = getBuffer(); boolean locked = readLock.tryLock(); if (locked) { if (!done.get()){ long ticket = fetchBuffer(channel, buffer); if (ticket < 0){ throw new IOException("Got invalid ticket, connection closed? " + ticket); } NaRPCFuture<R,T> future = pendingRPCs.remove(ticket); future.getResponse().update(buffer); future.signal(); } readLock.unlock(); } putBuffer(buffer); }
public RpcFuture<RpcDeleteFile> removeFile(FileName fileName, boolean b) throws IOException { RpcRequestMessage.RemoveFileReq req = new RpcRequestMessage.RemoveFileReq(fileName, b); RpcResponseMessage.DeleteFileRes resp = new RpcResponseMessage.DeleteFileRes(); TcpNameNodeRequest request = new TcpNameNodeRequest(req); TcpNameNodeResponse response = new TcpNameNodeResponse(resp); request.setCommand(RpcProtocol.CMD_REMOVE_FILE); NaRPCFuture<TcpNameNodeRequest, TcpNameNodeResponse> future = endpoint.issueRequest(request, response); return new TcpFuture<RpcDeleteFile>(future, resp); }
public NaRPCEndpoint<R,T> createEndpoint() throws Exception{ return new NaRPCEndpoint<R,T>(this, SocketChannel.open()); } }
public RpcFuture<RpcGetLocation> getLocation(FileName fileName, long l) throws IOException { RpcRequestMessage.GetLocationReq req = new RpcRequestMessage.GetLocationReq(fileName, l); RpcResponseMessage.GetLocationRes resp = new RpcResponseMessage.GetLocationRes(); TcpNameNodeRequest request = new TcpNameNodeRequest(req); TcpNameNodeResponse response = new TcpNameNodeResponse(resp); request.setCommand(RpcProtocol.CMD_GET_LOCATION); NaRPCFuture<TcpNameNodeRequest, TcpNameNodeResponse> future = endpoint.issueRequest(request, response); return new TcpFuture<RpcGetLocation>(future, resp); }
public RpcFuture<RpcPing> pingNameNode() throws Exception { RpcRequestMessage.PingNameNodeReq req = new RpcRequestMessage.PingNameNodeReq(); RpcResponseMessage.PingNameNodeRes resp = new RpcResponseMessage.PingNameNodeRes(); TcpNameNodeRequest request = new TcpNameNodeRequest(req); TcpNameNodeResponse response = new TcpNameNodeResponse(resp); request.setCommand(RpcProtocol.CMD_PING_NAMENODE); NaRPCFuture<TcpNameNodeRequest, TcpNameNodeResponse> future = endpoint.issueRequest(request, response); return new TcpFuture<RpcPing>(future, resp); }
public void connect(InetSocketAddress address) throws IOException { endpoint.connect(address); }
@Override public void close() throws IOException, InterruptedException { endpoint.close(); }
public String toString() { String address = ""; try { address = endpoint.address(); } catch (IOException e) { } return address; }
public RpcFuture<RpcRenameFile> renameFile(FileName fileName, FileName fileName1) throws IOException { RpcRequestMessage.RenameFileReq req = new RpcRequestMessage.RenameFileReq(fileName, fileName1); RpcResponseMessage.RenameRes resp = new RpcResponseMessage.RenameRes(); TcpNameNodeRequest request = new TcpNameNodeRequest(req); TcpNameNodeResponse response = new TcpNameNodeResponse(resp); request.setCommand(RpcProtocol.CMD_RENAME_FILE); NaRPCFuture<TcpNameNodeRequest, TcpNameNodeResponse> future = endpoint.issueRequest(request, response); return new TcpFuture<RpcRenameFile>(future, resp); }
public RpcConnection connect(InetSocketAddress address) throws IOException { try { NaRPCEndpoint<TcpNameNodeRequest, TcpNameNodeResponse> endpoint = clientGroup.createEndpoint(); endpoint.connect(address); TcpRpcConnection connection = new TcpRpcConnection(endpoint); allConnections.add(connection); return connection; } catch(Exception e){ throw new IOException(e); } }
public void close() throws IOException { this.endpoint.close(); }
public RpcFuture<RpcCreateFile> createFile(FileName fileName, CrailNodeType type, int storageAffinity, int locationAffinity, boolean enumerable) throws IOException { RpcRequestMessage.CreateFileReq req = new RpcRequestMessage.CreateFileReq(fileName, type, storageAffinity, locationAffinity, enumerable); RpcResponseMessage.CreateFileRes resp = new RpcResponseMessage.CreateFileRes(); TcpNameNodeRequest request = new TcpNameNodeRequest(req); TcpNameNodeResponse response = new TcpNameNodeResponse(resp); request.setCommand(RpcProtocol.CMD_CREATE_FILE); NaRPCFuture<TcpNameNodeRequest, TcpNameNodeResponse> future = endpoint.issueRequest(request, response); return new TcpFuture<RpcCreateFile>(future, resp); }
public RpcConnection connect(InetSocketAddress address) throws IOException { try { NaRPCEndpoint<TcpNameNodeRequest, TcpNameNodeResponse> endpoint = clientGroup.createEndpoint(); endpoint.connect(address); TcpRpcConnection connection = new TcpRpcConnection(endpoint); allConnections.add(connection); return connection; } catch(Exception e){ throw new IOException(e); } }
public void close() throws IOException { this.endpoint.close(); }
public RpcFuture<RpcGetFile> getFile(FileName fileName, boolean b) throws IOException { RpcRequestMessage.GetFileReq req = new RpcRequestMessage.GetFileReq(fileName, b); RpcResponseMessage.GetFileRes resp = new RpcResponseMessage.GetFileRes(); TcpNameNodeRequest request = new TcpNameNodeRequest(req); TcpNameNodeResponse response = new TcpNameNodeResponse(resp); request.setCommand(RpcProtocol.CMD_GET_FILE); NaRPCFuture<TcpNameNodeRequest, TcpNameNodeResponse> future = endpoint.issueRequest(request, response); return new TcpFuture<RpcGetFile>(future, resp); }
public RpcFuture<RpcDeleteFile> removeFile(FileName fileName, boolean b) throws IOException { RpcRequestMessage.RemoveFileReq req = new RpcRequestMessage.RemoveFileReq(fileName, b); RpcResponseMessage.DeleteFileRes resp = new RpcResponseMessage.DeleteFileRes(); TcpNameNodeRequest request = new TcpNameNodeRequest(req); TcpNameNodeResponse response = new TcpNameNodeResponse(resp); request.setCommand(RpcProtocol.CMD_REMOVE_FILE); NaRPCFuture<TcpNameNodeRequest, TcpNameNodeResponse> future = endpoint.issueRequest(request, response); return new TcpFuture<RpcDeleteFile>(future, resp); }