F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
DpManagerComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title DpManagerComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for DpManager component base class
5 // ======================================================================
6 
7 #ifndef Svc_DpManagerComponentAc_HPP
8 #define Svc_DpManagerComponentAc_HPP
9 
10 #include <atomic>
11 
14 #include "Fw/Cmd/CmdPortAc.hpp"
15 #include "Fw/Cmd/CmdRegPortAc.hpp"
17 #include "Fw/Cmd/CmdString.hpp"
19 #include "Fw/Dp/DpGetPortAc.hpp"
22 #include "Fw/Dp/DpSendPortAc.hpp"
23 #include "Fw/FPrimeBasicTypes.hpp"
24 #include "Fw/Log/LogPortAc.hpp"
25 #include "Fw/Log/LogString.hpp"
26 #if FW_ENABLE_TEXT_LOGGING == 1
27 #include "Fw/Log/LogTextPortAc.hpp"
28 #endif
31 #include "Fw/Time/TimePortAc.hpp"
32 #include "Fw/Tlm/TlmPortAc.hpp"
33 #include "Fw/Tlm/TlmString.hpp"
36 
37 namespace Svc {
38 
45  {
46 
47  // ----------------------------------------------------------------------
48  // Friend classes
49  // ----------------------------------------------------------------------
50 
52  friend class DpManagerTesterBase;
54  friend class DpManagerTester;
55 
56  protected:
57 
58  // ----------------------------------------------------------------------
59  // Constants
60  // ----------------------------------------------------------------------
61 
63  enum {
65  };
66 
68  enum {
73  };
74 
76  enum {
83  };
84 
86  enum {
90  };
91 
93  enum {
95  };
96 
98  enum {
100  };
101 
103  enum {
105  };
106 
108  enum {
113  };
114 
115  public:
116 
117  // ----------------------------------------------------------------------
118  // Component initialization
119  // ----------------------------------------------------------------------
120 
122  void init(
123  FwSizeType queueDepth,
124  FwEnumStoreType instance = 0
125  );
126 
127  public:
128 
129  // ----------------------------------------------------------------------
130  // Getters for special input ports
131  // ----------------------------------------------------------------------
132 
137  FwIndexType portNum
138  );
139 
140  public:
141 
142  // ----------------------------------------------------------------------
143  // Getters for typed input ports
144  // ----------------------------------------------------------------------
145 
150  FwIndexType portNum
151  );
152 
157  FwIndexType portNum
158  );
159 
164  FwIndexType portNum
165  );
166 
171  FwIndexType portNum
172  );
173 
174  public:
175 
176  // ----------------------------------------------------------------------
177  // Connect input ports to special output ports
178  // ----------------------------------------------------------------------
179 
182  FwIndexType portNum,
183  Fw::InputCmdRegPort* port
184  );
185 
188  FwIndexType portNum,
190  );
191 
194  FwIndexType portNum,
195  Fw::InputLogPort* port
196  );
197 
198 #if FW_ENABLE_TEXT_LOGGING == 1
199 
201  void set_textEventOut_OutputPort(
202  FwIndexType portNum,
203  Fw::InputLogTextPort* port
204  );
205 
206 #endif
207 
210  FwIndexType portNum,
211  Fw::InputTimePort* port
212  );
213 
216  FwIndexType portNum,
217  Fw::InputTlmPort* port
218  );
219 
220  public:
221 
222  // ----------------------------------------------------------------------
223  // Connect typed input ports to typed output ports
224  // ----------------------------------------------------------------------
225 
228  FwIndexType portNum,
230  );
231 
234  FwIndexType portNum,
236  );
237 
240  FwIndexType portNum,
242  );
243 
244 #if FW_PORT_SERIALIZATION
245 
246  public:
247 
248  // ----------------------------------------------------------------------
249  // Connect serial input ports to special output ports
250  // ----------------------------------------------------------------------
251 
254  FwIndexType portNum,
255  Fw::InputSerializePort* port
256  );
257 
260  FwIndexType portNum,
261  Fw::InputSerializePort* port
262  );
263 
266  FwIndexType portNum,
267  Fw::InputSerializePort* port
268  );
269 
270 #if FW_ENABLE_TEXT_LOGGING == 1
271 
273  void set_textEventOut_OutputPort(
274  FwIndexType portNum,
275  Fw::InputSerializePort* port
276  );
277 
278 #endif
279 
282  FwIndexType portNum,
283  Fw::InputSerializePort* port
284  );
285 
288  FwIndexType portNum,
289  Fw::InputSerializePort* port
290  );
291 
292 #endif
293 
294 #if FW_PORT_SERIALIZATION
295 
296  public:
297 
298  // ----------------------------------------------------------------------
299  // Connect serial input ports to typed output ports
300  // ----------------------------------------------------------------------
301 
304  FwIndexType portNum,
305  Fw::InputSerializePort* port
306  );
307 
310  FwIndexType portNum,
311  Fw::InputSerializePort* port
312  );
313 
314 #endif
315 
316  public:
317 
318  // ----------------------------------------------------------------------
319  // Command registration
320  // ----------------------------------------------------------------------
321 
325  void regCommands();
326 
327  protected:
328 
329  // ----------------------------------------------------------------------
330  // Component construction and destruction
331  // ----------------------------------------------------------------------
332 
335  const char* compName = ""
336  );
337 
339  virtual ~DpManagerComponentBase();
340 
341  protected:
342 
343  // ----------------------------------------------------------------------
344  // Getters for numbers of special input ports
345  // ----------------------------------------------------------------------
346 
351  return NUM_CMDIN_INPUT_PORTS;
352  }
353 
354  protected:
355 
356  // ----------------------------------------------------------------------
357  // Getters for numbers of typed input ports
358  // ----------------------------------------------------------------------
359 
365  }
366 
372  }
373 
379  }
380 
386  }
387 
388  protected:
389 
390  // ----------------------------------------------------------------------
391  // Getters for numbers of special output ports
392  // ----------------------------------------------------------------------
393 
399  }
400 
406  }
407 
413  }
414 
415 #if FW_ENABLE_TEXT_LOGGING == 1
416 
420  static constexpr FwIndexType getNum_textEventOut_OutputPorts() {
422  }
423 
424 #endif
425 
431  }
432 
438  }
439 
440  protected:
441 
442  // ----------------------------------------------------------------------
443  // Getters for numbers of typed output ports
444  // ----------------------------------------------------------------------
445 
451  }
452 
458  }
459 
465  }
466 
467  protected:
468 
469  // ----------------------------------------------------------------------
470  // Connection status queries for special output ports
471  // ----------------------------------------------------------------------
472 
477  FwIndexType portNum
478  );
479 
484  FwIndexType portNum
485  );
486 
491  FwIndexType portNum
492  );
493 
494 #if FW_ENABLE_TEXT_LOGGING == 1
495 
499  bool isConnected_textEventOut_OutputPort(
500  FwIndexType portNum
501  );
502 
503 #endif
504 
509  FwIndexType portNum
510  );
511 
516  FwIndexType portNum
517  );
518 
519  protected:
520 
521  // ----------------------------------------------------------------------
522  // Connection status queries for typed output ports
523  // ----------------------------------------------------------------------
524 
529  FwIndexType portNum
530  );
531 
536  FwIndexType portNum
537  );
538 
543  FwIndexType portNum
544  );
545 
546  protected:
547 
548  // ----------------------------------------------------------------------
549  // Handlers to implement for typed input ports
550  // ----------------------------------------------------------------------
551 
554  FwIndexType portNum,
555  FwDpIdType id,
556  FwSizeType dataSize,
557  Fw::Buffer& buffer
558  ) = 0;
559 
561  virtual void productRequestIn_handler(
562  FwIndexType portNum,
563  FwDpIdType id,
564  FwSizeType dataSize
565  ) = 0;
566 
568  virtual void productSendIn_handler(
569  FwIndexType portNum,
570  FwDpIdType id,
571  const Fw::Buffer& buffer
572  ) = 0;
573 
575  virtual void schedIn_handler(
576  FwIndexType portNum,
577  U32 context
578  ) = 0;
579 
580  protected:
581 
582  // ----------------------------------------------------------------------
583  // Port handler base-class functions for typed input ports
584  //
585  // Call these functions directly to bypass the corresponding ports
586  // ----------------------------------------------------------------------
587 
590  FwIndexType portNum,
591  FwDpIdType id,
592  FwSizeType dataSize,
593  Fw::Buffer& buffer
594  );
595 
598  FwIndexType portNum,
599  FwDpIdType id,
600  FwSizeType dataSize
601  );
602 
605  FwIndexType portNum,
606  FwDpIdType id,
607  const Fw::Buffer& buffer
608  );
609 
611  void schedIn_handlerBase(
612  FwIndexType portNum,
613  U32 context
614  );
615 
616  protected:
617 
618  // ----------------------------------------------------------------------
619  // Pre-message hooks for typed async input ports
620  //
621  // Each of these functions is invoked just before processing a message
622  // on the corresponding port. By default, they do nothing. You can
623  // override them to provide specific pre-message behavior.
624  // ----------------------------------------------------------------------
625 
627  virtual void productRequestIn_preMsgHook(
628  FwIndexType portNum,
629  FwDpIdType id,
630  FwSizeType dataSize
631  );
632 
634  virtual void productSendIn_preMsgHook(
635  FwIndexType portNum,
636  FwDpIdType id,
637  const Fw::Buffer& buffer
638  );
639 
641  virtual void schedIn_preMsgHook(
642  FwIndexType portNum,
643  U32 context
644  );
645 
646  protected:
647 
648  // ----------------------------------------------------------------------
649  // Invocation functions for typed output ports
650  // ----------------------------------------------------------------------
651 
654  FwIndexType portNum,
655  FwSizeType size
656  );
657 
660  FwIndexType portNum,
661  FwDpIdType id,
662  const Fw::Buffer& buffer,
663  const Fw::Success& status
664  );
665 
667  void productSendOut_out(
668  FwIndexType portNum,
669  Fw::Buffer& fwBuffer
670  );
671 
672  protected:
673 
674  // ----------------------------------------------------------------------
675  // Command response
676  // ----------------------------------------------------------------------
677 
679  void cmdResponse_out(
680  FwOpcodeType opCode,
681  U32 cmdSeq,
682  Fw::CmdResponse response
683  );
684 
685  protected:
686 
687  // ----------------------------------------------------------------------
688  // Command handlers to implement
689  // ----------------------------------------------------------------------
690 
694  virtual void CLEAR_EVENT_THROTTLE_cmdHandler(
695  FwOpcodeType opCode,
696  U32 cmdSeq
697  ) = 0;
698 
699  protected:
700 
701  // ----------------------------------------------------------------------
702  // Command handler base-class functions
703  //
704  // Call these functions directly to bypass the command input port
705  // ----------------------------------------------------------------------
706 
711  FwOpcodeType opCode,
712  U32 cmdSeq,
713  Fw::CmdArgBuffer& args
714  );
715 
716  protected:
717 
718  // ----------------------------------------------------------------------
719  // Pre-message hooks for async commands
720  //
721  // Each of these functions is invoked just before processing the
722  // corresponding command. By default they do nothing. You can
723  // override them to provide specific pre-command behavior.
724  // ----------------------------------------------------------------------
725 
727  virtual void CLEAR_EVENT_THROTTLE_preMsgHook(
728  FwOpcodeType opCode,
729  U32 cmdSeq
730  );
731 
732  protected:
733 
734  // ----------------------------------------------------------------------
735  // Event logging functions
736  // ----------------------------------------------------------------------
737 
742  FwDpIdType id
743  );
744 
745  protected:
746 
747  // ----------------------------------------------------------------------
748  // Event throttle reset functions
749  // ----------------------------------------------------------------------
750 
753 
754  protected:
755 
756  // ----------------------------------------------------------------------
757  // Telemetry write functions
758  // ----------------------------------------------------------------------
759 
764  U32 arg,
765  Fw::Time _tlmTime = Fw::Time()
766  );
767 
772  U32 arg,
773  Fw::Time _tlmTime = Fw::Time()
774  );
775 
780  U32 arg,
781  Fw::Time _tlmTime = Fw::Time()
782  );
783 
787  void tlmWrite_NumBytes(
788  U64 arg,
789  Fw::Time _tlmTime = Fw::Time()
790  );
791 
792  protected:
793 
794  // ----------------------------------------------------------------------
795  // Time
796  // ----------------------------------------------------------------------
797 
801  Fw::Time getTime() const;
802 
803  private:
804 
805  // ----------------------------------------------------------------------
806  // Message dispatch functions
807  // ----------------------------------------------------------------------
808 
810  virtual MsgDispatchStatus doDispatch();
811 
812  private:
813 
814  // ----------------------------------------------------------------------
815  // Calls for messages received on special input ports
816  // ----------------------------------------------------------------------
817 
819  static void m_p_cmdIn_in(
820  Fw::PassiveComponentBase* callComp,
821  FwIndexType portNum,
822  FwOpcodeType opCode,
823  U32 cmdSeq,
824  Fw::CmdArgBuffer& args
825  );
826 
827  private:
828 
829  // ----------------------------------------------------------------------
830  // Calls for messages received on typed input ports
831  // ----------------------------------------------------------------------
832 
834  static Fw::Success m_p_productGetIn_in(
835  Fw::PassiveComponentBase* callComp,
836  FwIndexType portNum,
837  FwDpIdType id,
838  FwSizeType dataSize,
839  Fw::Buffer& buffer
840  );
841 
843  static void m_p_productRequestIn_in(
844  Fw::PassiveComponentBase* callComp,
845  FwIndexType portNum,
846  FwDpIdType id,
847  FwSizeType dataSize
848  );
849 
851  static void m_p_productSendIn_in(
852  Fw::PassiveComponentBase* callComp,
853  FwIndexType portNum,
854  FwDpIdType id,
855  const Fw::Buffer& buffer
856  );
857 
859  static void m_p_schedIn_in(
860  Fw::PassiveComponentBase* callComp,
861  FwIndexType portNum,
862  U32 context
863  );
864 
865  private:
866 
867  // ----------------------------------------------------------------------
868  // Special input ports
869  // ----------------------------------------------------------------------
870 
872  Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS];
873 
874  private:
875 
876  // ----------------------------------------------------------------------
877  // Typed input ports
878  // ----------------------------------------------------------------------
879 
881  Fw::InputDpGetPort m_productGetIn_InputPort[NUM_PRODUCTGETIN_INPUT_PORTS];
882 
884  Fw::InputDpRequestPort m_productRequestIn_InputPort[NUM_PRODUCTREQUESTIN_INPUT_PORTS];
885 
887  Fw::InputDpSendPort m_productSendIn_InputPort[NUM_PRODUCTSENDIN_INPUT_PORTS];
888 
890  Svc::InputSchedPort m_schedIn_InputPort[NUM_SCHEDIN_INPUT_PORTS];
891 
892  private:
893 
894  // ----------------------------------------------------------------------
895  // Special output ports
896  // ----------------------------------------------------------------------
897 
899  Fw::OutputCmdRegPort m_cmdRegIn_OutputPort[NUM_CMDREGIN_OUTPUT_PORTS];
900 
902  Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort[NUM_CMDRESPONSEOUT_OUTPUT_PORTS];
903 
905  Fw::OutputLogPort m_eventOut_OutputPort[NUM_EVENTOUT_OUTPUT_PORTS];
906 
907 #if FW_ENABLE_TEXT_LOGGING == 1
908 
910  Fw::OutputLogTextPort m_textEventOut_OutputPort[NUM_TEXTEVENTOUT_OUTPUT_PORTS];
911 
912 #endif
913 
915  Fw::OutputTimePort m_timeGetOut_OutputPort[NUM_TIMEGETOUT_OUTPUT_PORTS];
916 
918  Fw::OutputTlmPort m_tlmOut_OutputPort[NUM_TLMOUT_OUTPUT_PORTS];
919 
920  private:
921 
922  // ----------------------------------------------------------------------
923  // Typed output ports
924  // ----------------------------------------------------------------------
925 
927  Fw::OutputBufferGetPort m_bufferGetOut_OutputPort[NUM_BUFFERGETOUT_OUTPUT_PORTS];
928 
930  Fw::OutputDpResponsePort m_productResponseOut_OutputPort[NUM_PRODUCTRESPONSEOUT_OUTPUT_PORTS];
931 
933  Fw::OutputBufferSendPort m_productSendOut_OutputPort[NUM_PRODUCTSENDOUT_OUTPUT_PORTS];
934 
935  private:
936 
937  // ----------------------------------------------------------------------
938  // Counter values for event throttling
939  // ----------------------------------------------------------------------
940 
942  std::atomic<FwIndexType> m_BufferAllocationFailedThrottle;
943 
944  private:
945 
946  // ----------------------------------------------------------------------
947  // First update flags for telemetry channels
948  // ----------------------------------------------------------------------
949 
951  bool m_first_update_NumSuccessfulAllocations = true;
952 
954  bool m_first_update_NumFailedAllocations = true;
955 
957  bool m_first_update_NumDataProducts = true;
958 
960  bool m_first_update_NumBytes = true;
961 
962  private:
963 
964  // ----------------------------------------------------------------------
965  // Last value storage for telemetry channels
966  // ----------------------------------------------------------------------
967 
969  U32 m_last_NumSuccessfulAllocations = {};
970 
972  U32 m_last_NumFailedAllocations = {};
973 
975  U32 m_last_NumDataProducts = {};
976 
978  U64 m_last_NumBytes = {};
979 
980  };
981 
982 }
983 
984 #endif
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void set_productSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to productSendOut[portNum].
static constexpr FwIndexType getNum_productGetIn_InputPorts()
static constexpr FwIndexType getNum_productRequestIn_InputPorts()
FwIdType FwOpcodeType
The type of a command opcode.
static constexpr FwIndexType getNum_eventOut_OutputPorts()
static constexpr FwIndexType getNum_bufferGetOut_OutputPorts()
void log_WARNING_HI_BufferAllocationFailed_ThrottleClear()
Reset throttle value for BufferAllocationFailed.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
PlatformSizeType FwSizeType
bool isConnected_cmdRegIn_OutputPort(FwIndexType portNum)
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
I32 FwEnumStoreType
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
static constexpr FwIndexType getNum_productSendOut_OutputPorts()
virtual ~DpManagerComponentBase()
Destroy DpManagerComponentBase object.
void productRequestIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Handler base-class function for input port productRequestIn.
Enum representing a command response.
void tlmWrite_NumSuccessfulAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_NumFailedAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
void productSendIn_handlerBase(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Handler base-class function for input port productSendIn.
void init()
Object initializer.
Definition: ObjBase.cpp:24
Fw::InputDpGetPort * get_productGetIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_productResponseOut_OutputPorts()
virtual void productSendIn_handler(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)=0
Handler for input port productSendIn.
virtual Fw::Success productGetIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)=0
Handler for input port productGetIn.
virtual void productSendIn_preMsgHook(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Pre-message hook for async input port productSendIn.
friend class DpManagerTesterBase
Friend class tester to support autocoded test harness.
Fw::InputDpSendPort * get_productSendIn_InputPort(FwIndexType portNum)
void productResponseOut_out(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status)
Invoke output port productResponseOut.
void tlmWrite_NumDataProducts(U32 arg, Fw::Time _tlmTime=Fw::Time())
bool isConnected_productResponseOut_OutputPort(FwIndexType portNum)
bool isConnected_bufferGetOut_OutputPort(FwIndexType portNum)
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
static constexpr FwIndexType getNum_cmdRegIn_OutputPorts()
virtual void CLEAR_EVENT_THROTTLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum)
void CLEAR_EVENT_THROTTLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
static constexpr FwIndexType getNum_schedIn_InputPorts()
static constexpr FwIndexType getNum_timeGetOut_OutputPorts()
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
Auto-generated base for DpManager component.
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
void productSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port productSendOut.
static constexpr FwIndexType getNum_productSendIn_InputPorts()
virtual void productRequestIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)=0
Handler for input port productRequestIn.
void log_WARNING_HI_BufferAllocationFailed(FwDpIdType id)
FwIdType FwDpIdType
The type of a data product identifier.
void set_productResponseOut_OutputPort(FwIndexType portNum, Fw::InputDpResponsePort *port)
Connect port to productResponseOut[portNum].
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
PlatformIndexType FwIndexType
virtual void productRequestIn_preMsgHook(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Pre-message hook for async input port productRequestIn.
DpManagerComponentBase(const char *compName="")
Construct DpManagerComponentBase object.
Fw::InputDpRequestPort * get_productRequestIn_InputPort(FwIndexType portNum)
bool isConnected_productSendOut_OutputPort(FwIndexType portNum)
void regCommands()
Register commands with the Command Dispatcher.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
RateGroupDivider component implementation.
void set_bufferGetOut_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferGetOut[portNum].
friend class DpManagerTester
Friend class tester implementation to support white-box testing.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
Fw::Success productGetIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)
Handler base-class function for input port productGetIn.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
virtual void CLEAR_EVENT_THROTTLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CLEAR_EVENT_THROTTLE.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
void set_cmdRegIn_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegIn[portNum].
void tlmWrite_NumBytes(U64 arg, Fw::Time _tlmTime=Fw::Time())
Fw::Buffer bufferGetOut_out(FwIndexType portNum, FwSizeType size)
Invoke output port bufferGetOut.
Success/Failure.
#define U64(C)
Definition: sha.h:181