📄 whatsnew.txt
字号:
What's new for OpenNet
* fixed
- removed
! changed
+ added
March 4th, 2003 [1.0.0.47]
- removed Session support. It raised too many problems.
- removed Connection support. It raised too many problems.
! restored old connection powermoose events
! replaced transport guids and properties with a string
! improved Agent->Transport action send handling
January 26th, 2003 [1.0.0.46]
* fixed EpPacketSent not being called when the connection drops and data is sent over a TCP transport
* fixed calling EpHeartBeat insanely fast slowing down the event dispatch mechanism
* fixed infinite loop bug when trying to purge non-existing events in the queue
- removed lots of now unneeded critical sections
! rewrote main loop of timeout and dispatch managers to do shorter locks
! non-sent action timeouts are now put in the timeout queue when the connection drops
! now all communication goes via the event queue (no one calls the agent directly anymore)
+ added internal function EpDispatchSystemEvent
January 23rd, 2003 [1.0.0.45]
* fixed occasional hang bug when disconnecting a TCP transport
* fixed rare access violation when a tcp connection gets lost
+ added functions EpCancelProtocolTimeouts and EpCancelAllTimeouts
January 22nd, 2003 [1.0.0.44]
* fixed problem with posting CONNECTION_CHANGED to the transport callback
* fixed minor problem in timeout manager
* fixed sometimes CONNECTION_CHANGED not being posted when a transport can't connect
! SYSTEM_IO_ERROR is now only posted when the error message is not ERROR_SUCCESS
! simplified TCP transport code
January 21st, 2003 [1.0.0.43]
* fixed TCP transport not posting SYSTEM_IO_ERROR after an error occurred
! improved OpenObjects a bit
! simplified TCP transport code (appears to be faster too now)
January 20th, 2003 [1.0.0.42]
* fixed GetTickCount-wrap-to-0 issue not being handled in timeout manager
* fixed memory leak in timeout manager
- removed function EpRegisterSession. you now have to manually create sessions
- removed internal methods ITransport::Connected and ITransport::Disconnected
! data-in is now always posted when there are no protocols
! EpHeartBeat now returns false if there are no events on the queue, true otherwise
+ added function EpEnableDebugEvents to enable/disable debug events
+ added boolean parameter enable_debug_events to CreateTransport
January 17th, 2003 [1.0.0.41]
* fixed SYSTEM_DATA_OUT sending the wrong data
* fixed missing timeout event after a EpSendAction with no data
* fixed wrong CONNECTION_CHANGED data after connecting a serial port
* fixed crashbug when ProtocolCreate fails
* fixed SYSTEM_TIMEOUT being received twice when Session listens to system protocol
* fixed SYSTEM_TIMEOUT sometimes not being received at all in Session
* fixed CONNECTION_CHANGED sometimes not being received in Session
* fixed CONNECTION_CHANGED sending wrong data
* fixed TransportSerial sending data when calling connect
* fixed SYSTEM_DATA_OUT not being sent for raw data
* fixed crashbugs when using OpenNet before calling EpInit
+ added GetDefaultConnection to ITransport
+ added functions EpGetProtocolName and EpGetProtocolMsgName
January 16th, 2003 [1.0.0.40]
* fixed SYSTEM_SENT_SUCCEEDED from TransportSerial having data in its event
* fixed delphi wrapper using the wrong calling convention
! the system now again posts SYSTEM_DATA_IN and SYSTEM_DATA_OUT for all data
+ readded SYSTEM_DATA_OUT event again
+ added methods GetName and GetMessageName to IProtocol
January 14th, 2003 [1.0.0.39]
* fixed a couple of errors in the delphi wrapper
! changed return parameters of IProtocol receive/send/reset to void
+ added extra data pointer to CreateTransport and CallbackProc
January 7th, 2003 [1.0.0.38]
* fixed data_in not arriving at protocols when there are no sessions
* fixed SYSTEM_CONNECTION_CHANGED event not arriving at transport callback
* fixed irc protocol in Cabinet not setting its transport member
- removed EpConnectionData structure
! simplified event dispatch logic
! moved generic component add logic to OpenObjects
! updated Delphi wrapper unit to new OpenNet version
! SYSTEM_CONNECTION_CHANGED now passes a pointer to the changed connection as parameter
+ added functions EpAddProtocol and EpRemoveProtocol
November 27th, 2002 [1.0.0.37]
* fixed crash when destroying a transport with a lot of events in the queue
* fixed mutual resource access bug with a singleton 'isinstantiated' member
- removed event filter logic
- removed EpAttachProtocol
- removed SYSTEM_DATA_OUT event
! new product title is OpenNet
! a session can now contain an unlimited number of protocols
! OpenNet now posts an event when a connection is changed
! rewrote thread pool so that it creates threads less often
! added pthread support to the library via Boost
! event pushing is now synchronized to the main thread
! connection changes and system events are now monitored by a thread
before they are dispatched to the callback functions and to sessions
! transports now send data to protocols directly without using the
event dispatching mechanism
! a transport now always has a physical system protocol attached
! SYSTEM_DATA_IN is now only triggered when no protocol could handle the data
! transports now tell the agent that they finished sending in their own thread context
+ added functions EpPushSession and EpPopSession
+ added internal event priority support (3 priorities)
+ added function EpGetOption
+ added options SERIAL_CTS_STATUS, SERIAL_DSR_STATUS,
SERIAL_RING_STATUS, SERIAL_RLSD_STATUS and SERIAL_DCB.
+ added option TCP_LOCALHOST
+ added functions EpResetProtocol and EpResetSession
+ added function EpHeartBeat
+ added seperate project for component managing (OpenObjects)
+ added function EpCancelTimeoutLastAction
October 19th, 2002 [1.0.0.36]
* fixed bug where TransportSerial sometimes delays when it is closed
* fixed hang bug in TransportSerial on Windows 95
* fixed crash bug when balancing the thread-pool
- removed function EpSetEventQueueEnabled
- removed protocol parameter from CreatePlug; protocols are now manually added
! renamed Plug to Transport
! renamed Grid to Agent (internally)
! renamed EpDeInit to EpFinalize
! EpCreateTransport now doesn't take a protocol GUID anymore
! the new official project name is TransportNet
! renamed SystemRS232Protocol to ModemProtocol and made it user registerable
! unified EpCreateTransport and EpAcceptTransport functions
+ added protocol inheritance support
+ added function EpAttachProtocol
+ added Delphi 6 wrapper unit
+ added version resource-block to dll
+ added Connection structure to see if a transport is connected
+ added function EpCLSIDToString
September 29th, 2002 [1.0.0.35]
- removed plug proxies and EpAttachPlugToProxy and EpDetachProxy. New
container functionality will be added to provide the same feature
- removed functions EpGetEvent and EpNextEvent
! renamed event SYSTEM_PACKET_SENT_SUCCEEDED to SYSTEM_SENT_SUCCEEDED
! renamed event SYSTEM_PACKET_SENT_FAILED to SYSTEM_SENT_FAILED
! GRID_HANDLEs are not exported anymore to the user
! decoupled plugs completely from grids
! system protocol events are now put into the user event queue regardless of filtering
+ added pretty name support to usb notification
+ added GUID to usb notification events
+ added events SYSTEM_SENT_PROGRESS_BYTES and SYSTEM_SENT_PROGRESS_PERCENTAGE
+ added function EpSetOption
+ added multicasting support to PlugUDP
+ added functions EpGetNextEvent and EpDestroyEvent
+ added function EpSetEventQueueEnabled
September 22th, 2002 [1.0.0.34]
* fixed not being able to send raw data
- removed use of ioctlsocket (as advised by Microsoft Knowledge Base Article - Q192599)
- removed function EpHandleEvent
- removed handle parameter from EpInit
! changed PlugPropertiesSerial to use a DCB for the COM settings
! renamed PlugRS232 to PlugSerial
! renamed PlugPropertiesRS232 to PlugPropertiesSerial
! EventFilters now also use a plug to identify a filter proc
! EventFilters now are stored inside PlugEntries instead of Grids
! Eplug now uses PLUG_HANDLEs instead of integers to reference plugs
! changed event system from a push interface to a pull interface
! it's now possible to dispatch global non plug/grid bound events
+ added parameters grid and plug to ProtocolCreate
+ added function EpGetMessage and EpNextMessage
+ added internal PlugFactory class for easy plug creation
+ added system notification of usb devices arrival/removal
September 2nd, 2002 [1.0.0.33]
- removed EpAttachGridData and EpGetGridData
- removed EpSendReplyEvent (EpDispatchEvent provides the same functionality)
+ added data parameter to EpCreatePlug and EpAcceptPlug
+ added data parameter to callback
August 30th, 2002 [1.0.0.32]
- removed events SYSTEM_PLUG_CREATED, SYSTEM_PLUG_DESTROYED and SYSTEM_TCPIP_ACCEPT
- removed support for plugs being managed by other plugs
! Eplug now doesn't create plugs in the background anymore
! renamed EpCreatePlugIndirect to EpAcceptPlug
+ added event SYSTEM_CONNECTION_REQUEST
August 23th, 2002 [1.0.0.31]
! renamed EpAddPlugToProxy to EpAttachPlugToProxy
+ added EpDetachProxy
August 22th, 2002 [1.0.0.30]
! SendEvent now considers a CLSID_PROTOCOL_SYSTEM/SYSTEM_DATA_OUT message as raw data
+ added function EpAddPlugToProxy
August 20th, 2002 [1.0.0.29]
* fixed TCPIP plug failing a second connect after SYSTEM_TIMEOUT instead of TCPIP_TIMEOUT
August 11th, 2002 [1.0.0.28]
! it's now possible to attach an (almost) unlimited number of user data to a grid
+ added function EpRemoveEventFilter
August 10th, 2002 [1.0.0.27]
! user data is now stored in a grid instead of in a plug
! renamed PlugInfo to PlugProperties
+ added internal support for a secondary piece of user data in a grid
August 9th, 2002 [1.0.0.26]
* fixed some problems with the thread pool
+ added bare bones pop3 protocol
+ added functions EpAttachSecondaryPlugData and EpGetSecondaryPlugData
August 8th. 2002 [1.0.0.25]
! protocols can now be loaded from dll files (renamed to *.epp)
+ added bare bones smtp protocol dll
+ added function EpInstallEventFilter
August 4th, 2002 [1.0.0.24]
* fixed bug with a combination of ePlug's messaging system and Qt
- removed functions EpProtocol and EpRegisterRemoteProtocol
! ePlug now uses a CLSID as protocol identifier
! remote protocols are now automatically registered
! renamed function EpHandledEvent to EpCancelEventTimeout
+ added constants CLSID_SYSTEM_PROTOCOL and CLSID_NO_PROTOCOL
+ added function EpHandledEvent that has to be called after a message is handled by the user
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -