NegotiateRequest.cs 906 B

1234567891011121314151617181920212223242526272829303132
  1. using Houdar.Core.Communication.Transport;
  2. using Houdar.PLC.Driver.Simenss.Protocol.Common;
  3. using Houdar.PLC.Driver.Simenss.Protocol.Header;
  4. namespace Houdar.PLC.Driver.Simenss.Protocol.Negotiate
  5. {
  6. public class NegotiateRequest : IBuildRequest
  7. {
  8. public HeaderPacket Header { get; set; }
  9. public NegotiateRequestParams Params { get; set; }
  10. public ushort PduRequestLength { get; set; }
  11. public void Build()
  12. {
  13. Header = new HeaderPacket();
  14. Params = new NegotiateRequestParams();
  15. Header.Build(PduType.Request, Params.PacketLength, 0x00);
  16. Params.Build(PduRequestLength);
  17. }
  18. public ByteBuffer GetBuffer()
  19. {
  20. ByteBuffer buffer = ByteBuffer.Allocate();
  21. Header.GetByteBuffer(buffer);
  22. Params.GetByteBuffer(buffer);
  23. return buffer;
  24. }
  25. }
  26. }