Package org.apache.hadoop.oncrpc

Examples of org.apache.hadoop.oncrpc.XDR


  public static void main(String[] args) throws InterruptedException {
    PortmapMapping mapEntry = new PortmapMapping(RpcProgramMountd.PROGRAM,
        RpcProgramMountd.VERSION_1, PortmapMapping.TRANSPORT_UDP,
        RpcProgramMountd.PORT);
    XDR mappingRequest = PortmapRequest.create(mapEntry);
    RegistrationClient registrationClient = new RegistrationClient(
        "localhost", Nfs3Constant.SUN_RPCBIND, mappingRequest);
    registrationClient.run();
       
    Thread t1 = new Runtest1();
View Full Code Here


    xdr_out.putInt(0);
*/
  }
  static void testGetportMount() {
    XDR xdr_out = new XDR();

    createPortmapXDRheader(xdr_out, 3);

    xdr_out.writeInt(100005);
    xdr_out.writeInt(1);
    xdr_out.writeInt(6);
    xdr_out.writeInt(0);

    XDR request2 = new XDR();

    createPortmapXDRheader(xdr_out, 3);
    request2.writeInt(100005);
    request2.writeInt(1);
    request2.writeInt(6);
    request2.writeInt(0);

    testRequest(xdr_out, request2);
  }
View Full Code Here

    testRequest(xdr_out, request2);
  }
 
  static void testGetport() {
    XDR xdr_out = new XDR();

    createPortmapXDRheader(xdr_out, 3);

    xdr_out.writeInt(100003);
    xdr_out.writeInt(3);
    xdr_out.writeInt(6);
    xdr_out.writeInt(0);

    XDR request2 = new XDR();

    createPortmapXDRheader(xdr_out, 3);
    request2.writeInt(100003);
    request2.writeInt(3);
    request2.writeInt(6);
    request2.writeInt(0);

    testRequest(xdr_out, request2);
  }
View Full Code Here

    testRequest(xdr_out, request2);
  }
 
  static void testDump() {
    XDR xdr_out = new XDR();
    createPortmapXDRheader(xdr_out, 4);
    testRequest(xdr_out, xdr_out);
  }
View Full Code Here

    public void run() {
      //testGetportMount();
      PortmapMapping mapEntry = new PortmapMapping(RpcProgramMountd.PROGRAM,
          RpcProgramMountd.VERSION_1, PortmapMapping.TRANSPORT_UDP,
          RpcProgramMountd.PORT);
      XDR req = PortmapRequest.create(mapEntry);
      testRequest(req, req);
    }
View Full Code Here

    RpcCall rpcCall = (RpcCall) info.header();
    final Procedure portmapProc = Procedure.fromValue(rpcCall.getProcedure());
    int xid = rpcCall.getXid();
    byte[] data = new byte[info.data().readableBytes()];
    info.data().readBytes(data);
    XDR in = new XDR(data);
    XDR out = new XDR();

    if (portmapProc == Procedure.PMAPPROC_NULL) {
      out = nullOp(xid, in, out);
    } else if (portmapProc == Procedure.PMAPPROC_SET) {
      out = set(xid, in, out);
    } else if (portmapProc == Procedure.PMAPPROC_UNSET) {
      out = unset(xid, in, out);
    } else if (portmapProc == Procedure.PMAPPROC_DUMP) {
      out = dump(xid, in, out);
    } else if (portmapProc == Procedure.PMAPPROC_GETPORT) {
      out = getport(xid, in, out);
    } else if (portmapProc == Procedure.PMAPPROC_GETVERSADDR) {
      out = getport(xid, in, out);
    } else {
      LOG.info("PortmapHandler unknown rpc procedure=" + portmapProc);
      RpcAcceptedReply reply = RpcAcceptedReply.getInstance(xid,
          RpcAcceptedReply.AcceptState.PROC_UNAVAIL, new VerifierNone());
      reply.write(out);
    }

    ChannelBuffer buf = ChannelBuffers.wrappedBuffer(out.asReadOnlyWrap().buffer());
    RpcResponse rsp = new RpcResponse(buf, info.remoteAddress());
    RpcUtil.sendRpcResponse(ctx, rsp);
  }
View Full Code Here

  public static PortmapMapping mapping(XDR xdr) {
    return PortmapMapping.deserialize(xdr);
  }

  public static XDR create(PortmapMapping mapping) {
    XDR request = new XDR();
    RpcCall call = RpcCall.getInstance(
        RpcUtil.getNewXid(String.valueOf(RpcProgramPortmap.PROGRAM)),
        RpcProgramPortmap.PROGRAM, RpcProgramPortmap.VERSION,
        Procedure.PMAPPROC_SET.getValue(), new CredentialsNone(),
        new VerifierNone());
View Full Code Here

    }
  }

  @Test(timeout = 1000)
  public void testRegistration() throws IOException, InterruptedException {
    XDR req = new XDR();
    RpcCall.getInstance(++xid, RpcProgramPortmap.PROGRAM,
        RpcProgramPortmap.VERSION,
        RpcProgramPortmap.PMAPPROC_SET,
        new CredentialsNone(), new VerifierNone()).write(req);

    PortmapMapping sent = new PortmapMapping(90000, 1,
        PortmapMapping.TRANSPORT_TCP, 1234);
    sent.serialize(req);

    byte[] reqBuf = req.getBytes();
    DatagramSocket s = new DatagramSocket();
    DatagramPacket p = new DatagramPacket(reqBuf, reqBuf.length,
        pm.getUdpServerLoAddress());
    try {
      s.send(p);
View Full Code Here

 
  @Test
  public void testSerializeDeserialize() {
    // Serialize NfsTime
    NfsTime t1 = new NfsTime(1001);
    XDR xdr = new XDR();
    t1.serialize(xdr);
   
    // Deserialize it back
    NfsTime t2 = NfsTime.deserialize(xdr.asReadOnlyWrap());
   
    // Ensure the NfsTimes are equal
    Assert.assertEquals(t1, t2);
  }
View Full Code Here

public class TestFileHandle {
  @Test
  public void testConstructor() {
    FileHandle handle = new FileHandle(1024);
    XDR xdr = new XDR();
    handle.serialize(xdr);
    Assert.assertEquals(handle.getFileId(), 1024);

    // Deserialize it back
    FileHandle handle2 = new FileHandle();
    handle2.deserialize(xdr.asReadOnlyWrap());
    Assert.assertEquals(handle.getFileId(), 1024);
  }
View Full Code Here

TOP

Related Classes of org.apache.hadoop.oncrpc.XDR

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.