| 479 | /// TraceLogWriterImpl |
| 480 | |
| 481 | class TraceLogWriterImpl final : |
| 482 | public RefCntIface<ITraceLogWriterImpl<TraceLogWriterImpl, CheckStatusWrapper> > |
| 483 | { |
| 484 | public: |
| 485 | TraceLogWriterImpl(const TraceSession& session) : |
| 486 | m_log(getPool(), session.ses_logfile, false), |
| 487 | m_sesId(session.ses_id) |
| 488 | { |
| 489 | string s; |
| 490 | s.printf("\n--- Session %d is suspended as its log is full ---\n", session.ses_id); |
| 491 | m_log.setFullMsg(s.c_str()); |
| 492 | } |
| 493 | |
| 494 | // TraceLogWriter implementation |
| 495 | FB_SIZE_T write(const void* buf, FB_SIZE_T size); |
| 496 | FB_SIZE_T write_s(CheckStatusWrapper* status, const void* buf, FB_SIZE_T size); |
| 497 | |
| 498 | private: |
| 499 | TraceLog m_log; |
| 500 | ULONG m_sesId; |
| 501 | }; |
| 502 | |
| 503 | FB_SIZE_T TraceLogWriterImpl::write(const void* buf, FB_SIZE_T size) |
| 504 | { |