/** Requests a tree from the given node, and returns the request that was sent. */ TreeRequest request( String sessionid, InetAddress remote, Range range, String ksname, String cfname) { TreeRequest request = new TreeRequest(sessionid, remote, range, new CFPair(ksname, cfname)); MessagingService.instance() .sendOneWay( TreeRequestVerbHandler.makeVerb(request, Gossiper.instance.getVersion(remote)), remote); return request; }
static Message makeVerb(TreeRequest request, int version) { try { FastByteArrayOutputStream bos = new FastByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(bos); SERIALIZER.serialize(request, dos, version); return new Message( FBUtilities.getBroadcastAddress(), StorageService.Verb.TREE_REQUEST, bos.toByteArray(), version); } catch (IOException e) { throw new RuntimeException(e); } }