void fireWriteSuccess() { PVWriterEvent<T> event; synchronized(lock) { event = new PVWriterEvent<>(PVWriterEvent.WRITE_SUCCEEDED_MASK, writerForNotification); } for (PVWriterListener<T> listener : pvWriterListeners) { listener.pvChanged(event); } }
void firePvWritten() { PVWriterEvent<T> event; synchronized(lock) { int mask = 0; if (needsConnectionNotification) { mask += PVWriterEvent.CONNECTION_MASK; } if (needsExceptionNotification) { mask += PVWriterEvent.EXCEPTION_MASK; } // Nothing to notify if (mask == 0) { return; } needsConnectionNotification = false; needsExceptionNotification = false; event = new PVWriterEvent<>(mask, writerForNotification); } for (PVWriterListener<T> listener : pvWriterListeners) { listener.pvChanged(event); } }
void fireWriteFailure(Exception ex) { setLastWriteException(ex); PVWriterEvent<T> event; synchronized(lock) { event = new PVWriterEvent<>(PVWriterEvent.WRITE_FAILED_MASK, writerForNotification); } for (PVWriterListener<T> listener : pvWriterListeners) { listener.pvChanged(event); } }