[jcifs] Batching command in CIFS

Michael B Allen mba2000 at ioplex.com
Fri Jan 21 08:03:31 GMT 2005


Please send all messages through the jcifs mailing list.

On Fri, 21 Jan 2005 14:10:59 +0800
Cellina Lin <cellina at gmail.com> wrote:
> Yes, I am aware of the risk. My intention is to test the ability of
> CIFS server in dealing with batched commands.
> 
> I am also aware of the fact that batching is possible only if it is
> sent in conjunction with another specified command. You can see in the
> attached sniffered file, the ReadAndX command is following
> NTCreateAndX command . ( I copied a file from CIFS server to local
> disk to make this happen.) However, they are not batched together.

No, you don't get it. The public API isn't sufficient to trigger batching
(actually it might but not in a very controllable way). You will have to
do something like:

package jcifs.smb;

public class BatchingTests extends SmbFile {

	public void createAndReadAndClose() {
		SmbComClose req3 = new SmbComClose(...);
		SmbComCloseResponse resp3 = new SmbComCloseResponse(...);

		SmbComReadAndX req2 = new SmbComRead(...., req3);
		SmbComReadAndXResponse resp2 = new SmbComReadAnxDRespons(...);

		SmbComNTCreateAndX req1 = new SmbComNTCreateAndX(..., req2);
		SmbComNTCreateAndX resp1 = new SmbComNTCreateAndXResponse(...);

		send(req1, resp1);
	}
}

This is highly trivialized obviously. You would have to look at the code
and get an idea for how the internal API is used.

Mike

-- 
Greedo shoots first? Not in my Star Wars.


More information about the jcifs mailing list