Class Protocol

java.lang.Object
edu.internet2.ndt.Protocol

public class Protocol extends Object
Class aggregating operations that can be performed for sending/receiving/reading Protocol messages
  • Constructor Summary

    Constructors
    Constructor
    Description
    Protocol(Socket ctlSocketParam)
    Constructor that accepts socket over which to communicate as parameter
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Method to close open Streams
    int
    readn(Message msgParam, int iParamAmount)
    Populate Message byte array with specific number of bytes of data from socket input stream
    int
    recv_msg(Message msgParam)
    Receive message at end-point of socket
    void
    send_json_login_msg(byte bParamType, byte[] bParamToSend)
    Send protocol messages given their type and data byte array
    void
    send_json_msg(byte bParamType, byte bParamToSend)
    Send message given its Type and data byte
    void
    send_json_msg(byte bParamType, byte[] bParamToSend)
    Send protocol messages given their type and data byte array
    void
    send_msg(byte bParamType, byte bParamToSend)
    Send message given its Type and data byte
    void
    send_msg(byte bParamType, byte[] bParamToSend)
    Send protocol messages given their type and data byte array
    void
    setJsonSupport(boolean jsonSupport)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Protocol

      public Protocol(Socket ctlSocketParam) throws IOException
      Constructor that accepts socket over which to communicate as parameter
      Parameters:
      ctlSocketParam - socket used to send the protocol messages over
      Throws:
      IOException - if Input/Output streams cannot be read from/written into correctly
  • Method Details

    • send_msg

      public void send_msg(byte bParamType, byte bParamToSend) throws IOException
      Send message given its Type and data byte
      Parameters:
      bParamType - Control Message Type
      bParamToSend - Data value to send
      Throws:
      IOException - If data cannot be successfully written to the Output Stream
    • send_json_msg

      public void send_json_msg(byte bParamType, byte bParamToSend) throws IOException
      Send message given its Type and data byte
      Parameters:
      bParamType - Control Message Type
      bParamToSend - Data value to send
      Throws:
      IOException - If data cannot be successfully written to the Output Stream
    • send_json_msg

      public void send_json_msg(byte bParamType, byte[] bParamToSend) throws IOException
      Send protocol messages given their type and data byte array
      Parameters:
      bParamType - Control Message Type
      bParamToSend - Data value array to send
      Throws:
      IOException - If data cannot be successfully written to the Output Stream
    • send_json_login_msg

      public void send_json_login_msg(byte bParamType, byte[] bParamToSend) throws IOException
      Send protocol messages given their type and data byte array
      Parameters:
      bParamType - Control Message Type
      bParamToSend - Data value array to send
      Throws:
      IOException - If data cannot be successfully written to the Output Stream
      Since:
      0.9.45
    • send_msg

      public void send_msg(byte bParamType, byte[] bParamToSend) throws IOException
      Send protocol messages given their type and data byte array
      Parameters:
      bParamType - Control Message Type
      bParamToSend - Data value array to send
      Throws:
      IOException - If data cannot be successfully written to the Output Stream
    • readn

      public int readn(Message msgParam, int iParamAmount) throws IOException
      Populate Message byte array with specific number of bytes of data from socket input stream
      Parameters:
      msgParam - Message object to be populated
      iParamAmount - specified number of bytes to be read
      Returns:
      integer number of bytes populated
      Throws:
      IOException - If data cannot be successfully read from the Input Stream
    • recv_msg

      public int recv_msg(Message msgParam) throws IOException
      Receive message at end-point of socket
      Parameters:
      msgParam - Message object
      Returns:
      integer with values:

      a) Success:

      • value=0 : successfully read expected number of bytes.

      b) Error:

      • value= 1 : Error reading ctrl-message length and data type itself, since NDTP-control packet has to be at the least 3 octets long
      • value= 3 : Error, mismatch between "length" field of ctrl-message and actual data read
      Throws:
      IOException
    • close

      public void close()
      Method to close open Streams
    • setJsonSupport

      public void setJsonSupport(boolean jsonSupport)