[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.


Greedo shoots first? Not in my Star Wars.

More information about the jcifs mailing list